使用Jenkins搭建iOS的CI服务器(一)

来源:互联网 发布:表格怎么剔除重复数据 编辑:程序博客网 时间:2024/05/16 10:04
系统:OS X 10.9.2
Xcode版本:5.1.1
Jenkins版本:1.580 

1、Jenkins的安装:
     Jenkins在Mac环境下(需要JDK环境),可以直接到官网(http://jenkins-ci.org/)下载pkg安装文件,在网页的最右边选择Mac OS X版本即可:

也可以下载war包即可,如果下载的时pkg双击运行即可安装,如果是war包则需要使用以下命令进行安装:
     java -jar jenkins.war --httpPort=8080
httpPort指定的就是Jenkins所使用的http端口,这里指定8080,可根据具体情况修改。待Jenkins启动后,打开浏览器输入地址
     http://localhost:8888/
便可以打开Jenkins管理界面,如果用的pkg安装的,安装完成后,将会自动打开Jenkins管理界面,如下图:

2、Jenkins的配置:
     1、Jenkins的运行权限配置
     上述过程成功说明Jenkins的已经安装完成,但是Jenkins现在不是运行在root权限下,也不是运行在你当前用户下,因此无论如何操作都会有诸多阻扰,各种报错,下面我们把Jenkins的进程移动到我们自己的账号下就行了。Kenkins在安装完成后会在/Library/LaunchDaemons/ 目录下创建一个org.jenkins-ci.plist文件,这个文件决定了Jenkins进程运行的用户组和用户,如图:


上图是我修改后的内容,进入org.jenkins-ci.plist文件所在目录
$ cd /Library/LaunchDaemons
然后我们就可以修改了,那么使用vim打开该文件进行修改
$ sudo vim  org.jenkins-ci.plist
修改完配置文件后,我们需要修改Jenkins的owner(其中路径是Jenkins的安装目录)
$ sudo chown -R cvte:staff /Users/Shared/Jenkins/
修改完成,启动Jenkins
$ sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist


     2、XCode相关的插件安装
     Jenkins默认情况下XCode相关插件都没有安装的的,需要我们自己手动安装,以git插件为例,熟悉Jenkins的插件安装过程。在Jenkins的首页的左边菜单依次选择“系统管理”—“管理插件”,然在管理插件界面的顶部,选择“可选插件”,在搜索框中输入“git”,便可以找git Plugin插件,选中后,点击下面“下载待重启后安装”。点击后Jenkins将自动检测网络状态然后下载和安装,安装后将自动重启Jenkins。Jenkins中所有插件安装完成后,都需要重启Jenkins才可以使用。按照上述方法可以将XCode、Github、testflight、FTP、Email Extension、cocoapods插件安装好,后续便可以使用,如果后面不需要用到的也可以不安装看个人需求。

     2、项目的构建
          准备工作我们都已经OK了,下面我们就可以创建一个新的任务用来构建我们的iOS项目,在Jenkins的主界面的左侧菜单点击“新建”,填写任务名称后,选择第一个“构建一个自由风格的软件项目”,如图:

点击OK按钮后进入到项目构建配置界面,如下图:


项目构建配置主要分:项目信息描述、源码管理、构建触发器、构建环境、构建、构建后的操作;

     项目信息描述:该项可以修改任务名称,和当前任务描述信息,其他配置项默认即可,也可以点击后面问号按钮查看说明;

     源码管理:该项用来配置当前任务从哪个地方获取源码,这里我们选择Git,如图:

               Repository URL中天下项目的git地址,如果项目是公开,则Credentials项不需要填写,否则需要通过Credentials项下的Add按钮进行认证权限的添加如图:

          其中Kind有多种认证方法,我们选择使用用户名和密码就可以了,填写好用户和密码,点击下面的Add按钮,完成后刚才的认证方式将出现在Credentials的下拉
选择框中。Branches to build项用来选择git上的分支的,一般默认选择master分支即可。
     到此我们源码管理项,就配置完成了,点击网页最下面的保存按钮,然后可以点击左侧菜单项“立即构建”,Jenkins便会进行构建过程,因为我们后面还有很多项
没有配置,所以Jenkins从git上下载代码后就会自动停止,你可以点击左侧菜单下面的“Build History”栏的编译记录,然后在点击Console Output项,可以查看
Jenkins的运行过程的log输出如图:


     构建触发器 :依次点击“返回到工程” —“配置”继续后面“构建触发器”项的配置,构建触发器用来告诉Jenkins在什么情况下,进行自动构建,刚才的是属于我们手动进行项目构建的,Jenkins提供以下几种自动构建方式,可以进行多选如图:

     1、触发远程构建 (例如,使用脚本)
     2、Build after other projects are built【是在某个Job完成之后再进行构建,勾选后填入你需要的Job名称就可以了
     3、Build periodically     【定时build项目工程
     4、Build when a change is pushed to GitHub      【当Git上有代码更新了就触发构建】
     5、Poll SCM     【定时检测工程的版本
     日程表的填写格式在后面点击?后会看到,这里用的是cron的语法。值得注意的是这里的时间是以本地时间来计算的。

     构建:该项将配置XCode的编译过程,如图我们选择XCode

选择Xcode后出现界面如下图:


默认情况下不需要做任何配置,Jenkins便可以执行编译过程,由于我的这个项目的工程文件没有在git的根目录下,所以我在Advanced Xcode build options项中的Xcode Project Directory中填写了工程文件的路径如图:

 点击保存,然后再执行“立即构建”,可以看到如下图的输出:


从上面log可以看出,下载的代码将放在/Users/Shared/Jenkins/Home/jobs/CIDemo/workspace/GitlabDemo目录下,可以在该目录下找到APP文件的输出,因为我们没有配置输出ipa文件,所以默认是不会生成ipa文件的。下面我们将配置一些信息,将在我们制定的目录下生成ipa和dSYM文件。点击General build settings后的Settings按钮,进行如下配置:

具体项说明,可以点击后面的?按钮查看说明,下面的Pack application and build .ipa选择是否生成ipa文件,下面是ipa文件名,和输出路径的配置,我们使用默认的文件名,目录放在工程目录下的/build/ipa-build/目录下,之所以放在这个目录下,是因为后面将用一些脚本,脚本文件会用到该目录(也是可以修改的只要统一就行)。点击Code signing & OS X keychain options项后的Code signing settings按钮,进行签名证书的相关配置,这里也可以在下拉框中进行选择,需要在系统设置中进行配置,后面将会介绍到,最后一项是用户密码如下图:


上述设置完成后,点击保存,在进行一次构建即可在我们配置的目录下生成ipa和dSYM文件了。


参考资料:

http://blog.csdn.net/leijiantian

http://blog.csdn.net/wangmuming/article/category/2167947

http://webfrogs.me/2013/12/31/jenkins-ios-ci/

http://blog.csdn.net/qs_csu/article/details/9356023

https://github.com/webfrogs/xcode_shell
1 0
原创粉丝点击