前言
Continuous Integration持续集成(简称CI)
CI是一种开发实践。实践应该包含3个基本模块,一个可以自动构建的过程,自动编译代码,可以自动分发,部署和测试。一个代码仓库,SVN或者Git。最后一个是一个持续集成的服务器。通过持续集成,可以让我们通过自动化等手段高频率地去获取产品反馈并响应反馈的过程。
作用:
1. 缩减开发周期,快速迭代版本
2. 自动化流水线操作带来的高效
3. 随时可部署
4. 极大程度避免低级错误
使用的是现在使用比较普遍的Jenkins。打包的对象是IOS。所以首先,你必须有一个Mac。
首先,我们来开始安装Jenkins。从官网https://jenkins.io/上下载最新的pkg安装包。
也可以下载jenkins.war, 然后运行Java -jar jenkins.war,进行安装。
安装完成之后,Safari可能会自动打开,如果没有自动打开,打开浏览器,输入http://localhost:8080
这个时候可能会报一个错误。连接不到服务器。出现这个问题的原因就是Java环境有问题,重新Java环境。
这个时候如果你重启电脑会发现Jenkins给你新增了一个用户,名字就叫Jenkins,不过这个时候你不知道密码。你可能会去试密码,肯定是是不对的,因为初始密码很复杂。这个时候正确做法是打开http://localhost:8080会出现下图的重设初始密码的界面。
按照提示,找到密码所在的文件,打开并复制粘贴,点击continue。
输入用户名,密码,邮件,就算安装完成了。
每次进入Jenkins之前需要双击jenkins.war,然后再打开http://localhost:8080
安装SVN插件
安装Xcode插件
同安装GitLab插件的步骤一样,我们依次选择系统管理->管理插件,在“可选插件”中选中“Xcode integration”安装。
安装下图Keychains的插件
安装完了这个,我们就可以配置一个构建项目了。
点击新建好的项目,进来配置一下General参数。
这里可以设置包的保留天数还有天数。
接着设置源码管理。
构建触发器设置这里是设置自动化测试的地方。这里涉及的内容很多,暂时我也没有深入研究,这里暂时先不设置。有自动化测试需求的可以好好研究研究这里的设置。
Poll SCM(poll source code management) 轮询源码管理
需要设置源码的路径才能起到轮询的效果。一般设置为类似结果: 0/5每5分钟轮询一次
Build periodically(定时build)
一般设置为类似: 00 20* 每天 20点执行定时build 。当然两者的设置都是一样可以通用的。
Target是构建的目标。如果留空,那么就会构建所有的目标。
Clean before build这个选项建议勾选,构建之前最好Clean一下,至于为什么,我也不知道,我们开发之前打包的时候没有Clean,有时候会出一些莫名其妙的bug。
Configuration此处填写Release或者Debug,指的是IOS打包的类型,Debug版本还是Release版本。
Pack application and build .ipa需要打钩,因为我们需要打包成ipa文件来安装。
ipa filename pattern打包成ipa文件的名称,就是最终的xxx.ipa。
Output directory打包输出的路径,我这里填写的${WORKSPACE}指的是Jenkins下的workspace
Build output directory是构建后的输出地址,我这里设置于ipa文件地址一致。
注意:如果你的项目是使用.workspace。请使用Xcode Workspace File,留空Xcode Project File.
Keychain path是固定填写${HOME}/Library/Keychains/login.keychain
Keychain password指的是你的授权密码,不是证书密码。
${HOME}目录指的是Jenkins的根目录,如果你的jenkins是新装的,你会发现Library目录中压根就没有Keychains目录。你需要去/Users/SvenWeng/Library目录下把Keychains目录复制过来。
注:这一步可以不需要配置。
点击Apply,保存
这样就可以就可以打包了。
可以查看打包信息,在最下面会有ipa文件所在的位置。