2018 最新Jenkins持续化集成打包iOS项目
在开始写这边文章之前也是踩了不少坑,流过不少泪,why?非我不勤也,非我不诚也,实乃空余时间断断续续,今天收尾,整理出来,与大家一起探讨Jenkins 对于ios项目的持续化集成的相关操作,如有纰漏,敬请谅解!
目前市面上持续化集成的各种平台工具很多,譬如Jenkins,Fastlane,Shell脚本等等方式,目前已研究Jenkins,Fastlane,Shell三种方式,均有收获,但是限于时间安排,今天就只讲讲老牌平台Jenkins的集成方式。
一、Jenkins的用途
1.构建项目
2.跑测试用例检测bug
3.静态代码检测
4.部署分发到各平台
关于具体到底用途有什么效果,Google一下,你就明白,不再赘述!
二、安装Jenkins
下载网址:https://jenkins.io/download/
1540004329996.jpg
建议选择稳定版,测试版会每周更新,有新功能,功能不稳定,当前以稳定版为例!
1540004494679.jpg
对于不想操作命令行的同学来说,这个安装包的方式快捷简单,有的教程是jenkins.war安装包,这个看你自己喜好了!
三、配置Jenkins
在浏览器输入http://localhost:8080(注意,不要连接VPN),打开Jenkins管理页面后,Jenkins需要你新增一个用户,名字是Jenkins,当然还有密码,初次打开http://localhost:8080 会出现重设初始密码的界面。
按照提示,找到/Users/Shared/Jenkins/Home/ 这个目录下,这个目录虽然是共享目录,但是有权限的,非Jenkins用户/secrets/目录是没有读写权限的。(假设你一直没权限修改读取密码,那么请另行百度,获取你电脑的最高权限),打开initialAdminPassword文件,复制出密码,就可以填到网页上去重置密码了。
接下来你就可以看到各种需要安装插件的界面,这个安装需要哪些插件呢?我建议你可以选取其中推荐安装的插件进行安装,随后进入平台界面后,可以选择自己想安装的插件,步骤如下
四、配置插件
单独的Jenkins是无法单独完成各种集成任务的,它就像一个大树的主干,这时就需要各种插件来配合,充当大树的枝叶,这样大树才能完成一个完整功能。
自己选择安装插件流程图:
1540005374527.jpg
1540005815358.jpg
当然你可以找到已经安装的插件,删除不需要的插件!
1、安装GitLab插件
因为我们用的是GitLab来管理源代码,Jenkins本身并没有自带GitLab插件,所以我们需要依次选择 系统管理->管理插件,在“可选插件”中选中“GitLab Plugin”和“Gitlab Hook Plugin”这两项,然后安装。
2、安装Xcode插件
同安装GitLab插件的步骤一样,我们依次选择系统管理->管理插件,在“可选插件”中选中“Xcode integration”安装。
3、安装签名证书管理插件
iOS打包内测版时,需要发布证书及相关签名文件,因此这两个插件对于管理iOS证书非常方便。还是在系统管理->管理插件,在“可选插件”中选中“Credentials Plugin”和“Keychains and Provisioning Profiles Management”安装。
4.安装脚本插件
这个插件的功能主要是用于在build后执行相关脚本。在系统管理->管理插件,在“可选插件”中选中“Post-Build Script Plug-in”安装。
五、构建项目
1540015384445.jpg
1540015204797.jpg
1540015493466.jpg
1540015887914.jpg
1540016341948.jpg
1540016953172.jpg
1540017106464.jpg
1540017643439.jpg
1540017859758.jpg
1540018018017.jpg
以上是我在构建中的配置选项,当然,进行这些配置前,其实还是需要在jenkins系统中设置一些配置,那么,下面我们来看看,有哪些地方需要另外配置的吧
六、jenkins系统管理配置
1.系统设置:进入jenkins主页面,找到左边系统管理,然后看到右边第一个系统设置,进入后找到全局属性,选中Keychains and Provisioning Profiles Management,设置路径为/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles。选中环境变量,设置键PATH,值为$PATH.
2.Keychains and Provisioning Profiles Management配置:进入jenkins主页面,找到左边系统管理,然后找到Keychains and Provisioning Profiles Management配置,从你电脑系统中找到login.keychain(如果是login.keychain-db,将名称改成login.keychain就行)upload后,输入Filename为login.keychain,Password为你的电脑密码,Identities里有两个证书名称,一个是测试环境的,一个是正式环境的。Provisioning Profiles里需要设置Provisioning Profiles文件,将我们的所有Provisioning Profiles文件上传到这里后,他会自动识别处UUID等信息填充,然后jenkins会把证书配置文件拷贝进 Provisioning Profiles Directory Path 配置的文件路径内,如果没有,你可以手动拷贝所有的 Provisioning Profiles到/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles文件夹内。
3.凭据配置:进入jenkins主页面,找到凭据配置,然后找到添加凭据,进入页面后.
类型: 选择SSH Username with private key
Scope: 全局Global(Jenkins, nodes, items, all child items, etc)
Username: 随便起一个名字,以便在创建 Job 的时候使用该 Credential
Private Key:可以指定文件,也可以使用默认的 ~/.ssh,当然也可以直接将私钥复制粘贴到此处。
Passphrase: 如果你在创建 ssh key 的时候输入了 Passphrase那就填写相应的Passphrase,为空就不填写
ID: 空
Description: 空
4.邮件配置:
1540020665065.jpg
七、jenkins项目开始构建
构建项目配置完成后,就可以开始构建了。首先回到主页面,然后查看所有项目。我的如下:
1540020020023.jpg
1540020088962.jpg
1540020191458.jpg
1540020240827.jpg
1540020380706.jpg
七、项目构建成功与失败
通过日志信息查看,可以知道项目构建成功后,会发出邮件通知,同时firim会有安装包上传,失败的话,查找日志信息,可以解决对应问题。
好了,今天的jenkins持续化集成就到这里了,欢迎提出问题改正!