jenkins自动化构建iOS应用配置过程中遇到的问题

最近配置jenkins来自动构建iOS应用,期间遇上不少问题。在这里分享给大家,也给自己留个底,方便下次解决问题。

首先说明下基本情况,我们因为部署jenkins的机器不是Mac,所以不能安装Xcode插件,我不知道这个插件能给我们带来多少便捷。最终方案就是让jenkins调用另一台用于打包的机器,让打包机执行已经写好的shell打包指令。
811837-20160311152626616-1580475992.png
简单的画了个图,大概的原理就是这样的。

既然打包,肯定是要配置一些参数的,如何获取代码仓库当前的分支,其实很简单,这么易见的问题自然早就帮我们做好了811837-20160311153213475-547505266.png

这张图展示的是获取分支,其中name:TEST_BRANCH这个参数可以随意起名字,这个也是会在最后的脚本构建中,作为参数传来。有几个配置我也不是很清楚,这么配就可以。
你可以通过类似的方式添加打包脚本所需要的参数,当你添加好之后,在点击构建时,可以看到出现了一个选择框811837-20160311153810538-1120401430.png

参数配置好后,就要添加执行的脚本811837-20160311154223600-1996767168.png
我这里就是一些git命令,第一行是远程连接来的认证,貌似在有些时候并不需要。在拉到代码之后,执行了大包命令。这里被我遮住了,给大家一个git仓库地址,基本可以满足打包的需求了,文件上传等脚本俱全。感谢作者。具体使用请看reademe。

https://github.com/webfrogs/xcode_shell

还可以添加一些构建后的操作,比如构建失败发邮件等等,可以打架自己摸索。

接下来说下遇到的问题,如果你配置不顺利的话,看看下面是否有类似的问题。

这是第一个

rsa的公钥有密码,导致jenkins通过ssh调用时,没有权限。811837-20160311155646257-513454221.png

上图是在jenkins打包日志中获取的。

我的解决方案是建立在代码是存放在git类型的远端仓库,且使用ssh认证的方式下的。我删掉了老的rsa的公私钥,重新生成了一份公私钥,生成指令执行后,会让你输入公钥的密码,这个时候,你只需要按回车就可以生成没有密码的公钥。然后将公钥添加的git仓库中,这样就解决了这个问题。

这是第二个

jenkins连接不了打包机器,将mac的公钥添加到jenkins的免密码登陆中。(可能会在更新rsa的key时出现)

这是第三个

获取不到代码的另一个问题,git仓库需要给jenkins所使用的用户下载代码的权限。(这个问题我也不是很明白为什么,但是不加就是不行)

转载于:https://www.cnblogs.com/qianhongqiang/p/5265921.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用户体验设计的五个原则(转)

【编者按】本文作者,现Aura Marker Studio创始人路意Louis,曾带过五年多的用户体验设计团队。这篇文章是他带团队这几年沉淀下来的一些经验和思考。 “设计,必须是充满诗意的。” 带过五年多的用户体验设计团队,从几个人到二十几个…

js遍历 for-of

for-of遍历 entries() 返回一个遍历器对象,用来遍历[键名, 键值]组成的数组。对于数组,键名就是索引值;对于 Set,键名与键值相同。Map 结构的 Iterator 接口,默认就是调用entries方法。keys() 返回一个遍历器对象&…

王道操作系统考研笔记——2.1.9 调度算法

2.1.9 调度算法 知识总览 学习各种调度算法的思路 算法思想算法规则这种调度算法是用于作业调度还是进程调度?抢占式或是非抢占式优点和缺点是否会导致饥饿(某进程/作业长期得不到服务) 2.1.9.1 先来先服务 知识点说明英文名FCFS&#xff0…

程序员的春天来了,赏花去!说走就走

2019独角兽企业重金招聘Python工程师标准>>> 经历了寒冷的隆冬,阳春三月终于到来,在温暖如棉的风里,赶紧去户外走走吧,享受大自然赐予我们的无限美……春意盎然,正是赏花好时节,每天久坐电脑前的…

关于个人防火墙的真相

原文作者:MaD 原文标题:The truth aboutpersonal firewalls电子邮件:mad-factormail.ru作者国籍:俄罗斯声明:1、本人翻译水平有限,有不当之请大家理解。如部分看不懂可以和原文对照。 2、欢迎转…

NOI2015 程序自动分析

Luogu 写个并查集来维护就行了。先合并所有相等的变量,如果有两个不相等的变量相等,那么就输出NO。注意得先合并所有相等的变量,再来判断。因为如果两个操作一起搞的话,可能会有两个变量在某次查询的时候不相等,但后面…

王道操作系统考研笔记——2.2.0 交互式系统调度算法

2.2.0 交互式系统调度算法 知识总览 2.2.0.1 时间片轮转 知识点说明英文名RR,Round-Robin算法思想公平地、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应算法规则按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时…

Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题

前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置1.Tomcat的下载 地址:https://tomcat.apache.org/download-80.cgi下载上图标示文件即可.然后解压到一个方便的文件夹即可.2.Tomcat的启动 如果你的Tomcat的JDK配置好的话,理…

王道操作系统考研笔记——2.3.1 进程同步和进程互斥

文章目录2.3.1 进程同步和进程互斥2.3.1.1 什么是进程同步?2.3.1.2 什么是进程互斥2.3.1.3 小结2.3.1 进程同步和进程互斥 知识总览 2.3.1.1 什么是进程同步? 在前面,我们说过进程具有异步性的特征。 而我们想让进程执行的顺序是可预知的&…

王道操作系统考研笔记——2.3.2 进程互斥的软件实现方法

文章目录2.3.2 进程互斥的软件实现方法2.3.2.1 单标志法2.3.2.2 双标志先检查法2.3.2.3 双标志后检查法2.3.2.4 Peterson算法2.3.2.5 小结2.3.2 进程互斥的软件实现方法 知识总览 2.3.2.1 单标志法 单标志法的算法思想是:两个进程在访问完临界区后会把使用临界区的…

js处理上下文代码的2个阶段

1、进入执行上下文 当进入执行上下文(代码执行之前)时,VO里已经包含了下列属性(前面已经说了): 函数的所有形参(如果我们是在函数执行上下文中) — 由名称和对应值组成的一个变量对象的属性被创建;没有传递对应参数的话,那么由名称…

deep learning入门学习

根据知乎的一些大牛的回答总结出的deep learning入门学习的一些material: BE NOTED THAT SOME VIDEOS ARE ON YOUTUBE! I BELIEVE THAT YOU KNOW HOW TO ACESS THEM. 1. Andrew Ng的机器学习前四章的内容(线性回归与逻辑回归) http://open.163.com/special/opencour…

QTP基础学习(二)启动与设置

1、启动QTP选择要求的Add-in 默认带有3个Add-in,之后可以安装其他的Add-in,如.net的Add-in 2、设置QTP的选项 点击Tools-Options,弹出如下框: 3、建立记录和运行设置 点击Automatic-Record and Run Settings,如下图&am…

王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法

文章目录2.3.3 进程互斥的硬件实现方法2.3.3.1 中断屏蔽方法2.3.3.2 TestAndSet指令2.3.3.3 Swap指令2.3.3.4 小结2.3.3 进程互斥的硬件实现方法 知识总览 2.3.3.1 中断屏蔽方法 利用开/关中断指令实现中断屏蔽方法,可以使得某进程开始访问临界区到结束期间不允许…

Python Web框架Tornado的异步处理代码演示样例

1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比。tornado不提供操作数据库的ORM接口及严格的MVC开发模式,但能够提供主要的web server功能。故它是轻量级的;它借助non-blocking …

Linux基础--MBR/GPT与parted

关于MBR和GPT这两种分区表,wiki上讲的很清楚。不过有些同学可能看不了,你需要先了解科学上网。这里我就只把它们的结构图贴上,简要说明了。https://zh.wikipedia.org/wiki/%E4%B8%BB%E5%BC%95%E5%AF%BC%E8%AE%B0%E5%BD%95https://zh.wikipedi…

MYSQL的空间查询(转帖)

SELECT x(location),y(location) FROM frddata.points; 本文将向各位介绍如何使用MySql5.x中的空间数据库,并展示一下它高效的性能(前提是正确使用)。 本文适合于对SQL和MYSQL熟悉的人员。 步骤1:创建支持空间查询的表 首先来说一…

数据库杂谈(五)——关系数据库语言

文章目录5 关系数据库语言5.1 MySQL简介5.1.1 MySQL的发展历史5.1.2 数据库的用户接口5.1.3 SQL及其概念辨析5.1.4 SQL查询语言的分类5.2 入手5.2.1 回顾——基本和虚表5.2.2 数据准备5.2.3 常用命令5.2.4 导入数据5.2.5 简单的查询5.2.6 条件查询5.2.6.1 条件查询格式5.6.2.1 …

ansible---基础

ansible特点:不需要安装客户端,通过sshd去通信基于模块工作,模块可以由任何语言开发不仅支持命令行使用模块,也支持编写yaml格式的playbook支持sudo安装:yum install -y epel-releaseyum install -y ansible 配置文件&…

Suse 12 安装VMware tool

cd /run/media/root /VMware Tools 查看光盘目录mdkir tool chmod -R 777 /tool 赋予文件夹权限cp -rf /run/media/root /VMware Tools /toolcd /tooltar -zxvf VMwareTools-9.10.0-2476743.tar.gz cd vmware-tools-distrib/ ./vmware-install.pl 执行安装 转载于:https:…