mac os下 用 jenkins 实现ios自动化打包 上
背景:每次测试都需要人工打包,是在繁琐及浪费时间,于是就尝试实现自动化打包。
1、安装jdk,已安装了,请忽略,点此下载jdk

2、下载 安装 Jenkins 下载
3、安装完后打开 http://localhost:8080/ 后需要输入密码。
获取密码: 密码地址在
/Users/Shared/Jenkins/Home/secrets/initialAdminPassword
可能无权限打开文件,设置成只读权限就可以了。拷贝内容输入图2框中

4、进入后安装默认插件即可。
5、之后 如 图3创建用户

以上步骤完成,恭喜你可以开始使用了 jenkins了。
接下来说 jenkins的使用
6、安装插件
因为我们用的是GitLab来管理源代码,Jenkins本身并没有自带GitLab插件,所以我们需要依次选择 系统管理->管理插件,在“可选插件”中选中“GitLab Plugin”和“Gitlab Hook Plugin”这两项,然后安装。
安装Xcode插件
同安装GitLab插件的步骤一样,我们依次选择系统管理->管理插件,在“可选插件”中选中“Xcode integration”安装。
安装 Keychains and Provisioning Profiles Management插件
系统管理->管理插件->可选插件 。
7、配置ssh key aaa@gmail.com 是git仓库账号
$ ssh-keygen -t rsa -C “aaa@gmail.com”
中间会问你要设置私钥的密码,直接敲回车即可,可以不用设置密码。
最后得到了两个文件:id_rsa和id_rsa.pub
在gitlab上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
进入到目录
cd /Users/你的名字/.ssh
插看内容
cat id_rsa.pub

注意:全部内容都要要拷贝上
私钥部分:命令 cat id_rsa 是私钥内容,如图5

8、先在gitlab上找到token 如图6,不同版本可能不一样,但是里面一定有,找一找。找到后copy。

然后再jenkins 主界面下如图7,点击 Credentials—System 然后点击右侧 Global credentials (unrestricted)

然后进入如图8界面。 再点击 Add Credentials

进入到 如图9 这个页面来进行配置

至此 token 已设置完毕。
还是此页面,新增一个,做如图10配置,私钥在第7步已经生成

9、git 链接路径配置
先如图11,进入系统设置

进入后找到gitlab,如图12

10、项目创建 如图13

11、然后进行设置项目
首先选择git链接路径 如图14

第二设置源码,如图15

gitlab 里获取ssh 链接copy,粘贴到上图 Repository URL 地方。如图16

第三步 配置证书和provisoning
进入主页面点击系统管理找到如图17配置,点击进入(先确定自己是否安装了该插件)

注意这里需要导入的是 login.keychain和Provisioning Profiles 如图18

这个Keychain其实在~/Library/keychains/login.keychain(finder->shift+cmd+g 输入路径),当把这个Keychain设置好了之后,Jenkins会把这个Keychain拷贝到/Users/Shared/Jenkins/Library/keychains这里,(Library是隐藏文件,另注意,如果是login.keychain-db 那就拷贝 不需要改名字)。Provisioning Profiles文件需要拷贝到/Users/Shared/Jenkins/Library/MobileDevice文件目录下。(注意文件名和序列号一致)
Mac os 10.12没有login.keychain文件,将login.keychain-db 后缀修改成login.keychain。
设置code signing 名字。可以在钥匙串里找出该名字,如图19

设置 Provisioning Profiles(开发者中心下载)如图20

注意:如果您的项目是选择了automatically。如图21

那么描述文件需要单独生成。生成步骤
1> 先将自己xcode 里的 Provisioning Profiles 文件备份(路径 /Users/xxxxx/Library/MobileDevice/Provisioning Profiles xxxxx 你用户的名字)
2> 选中 automatically ,成功运行下项目, 此时 build settings 里的 Code Signing Identity 和 Provisioning Profile xcode运行时并未用到。
3>再次进入/Users/xxxxx/Library/MobileDevice/Provisioning Profiles 目录,发现出现了一个Provisioning Profile 拷贝出来。
4>然后在jenkins 添加该 Provisioning Profile 文件。
第四步 设置 开发组(如果 是xocde 8 及以上的需要)
进入系统设置。如图22

设置 Xcode Bullder,如图23

Team Name 和Team ID 可以在钥匙串里找到证书,然后右键->显示简介 ,组织单位 内容填到 Team ID ,组织 内容填到Team Name 如图24-1

另外,设置keychanin,如图 24-2,密码是开机密码, 路径 /Users/Shared/Jenkins/Library/Keychains/login.keychain 自己将文件复制到该路径。

第五步 到我们刚才创建的项目配置里,找到构建环境,按下图选好自己的相关证书和描述文件。,如 图25 图26


第六步 添加 构建 -> 选择 Xcode
图27 这几个setting 需要设置下

1> General build settings
Target 内容,(在命令行里 在项目目录下 执行命令 xcodebuild -list )就可以看到自己的Target。 如图28、29


2>Code signing & OS X keychain options 如图30

3> Advanced Xcode build options 设置,如图30、31


以上操作完,你就已经可以正常生成ipa包了。您可以试试。
如果遇到 错误 The project named " " does not contain a scheme named " ".
解决办法 如图进入schemes 管理,选中 Shared即可。 如图 32、33


12、上传 fir
首先给jenkins装上插件,参考fir jenkins插件 帮助
然后进入jenkins 刚才的工程 进行配置—增加构建后操作步骤,如图34、35


填写 token即可,如何获取 ——进入fir官网登陆 然后如图36

以上步骤操作完成,恭喜您,已经可以自动化打包了。
希望以上能帮到你,如有问题请留言。