Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程

第一节 配置证书管理插件 Keychains and Provisioning Profiles Management

第 1 步

前往插件位置


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第1张图片
1.找到证书管理插件位置.png

第 2 步

点击"选择文件"


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第2张图片
2.选择文件.png

第 3 步

要找到你电脑当前用户的钥匙串文件,在弹出框按 Command + Shift + G, 然后输入下面的路径,选择钥匙串,然后确定

/Users/当前用户名/Library/Keychains/login.keychain


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第3张图片
3.找到keychain文件.png

第 4 步

点击上传 但是 有坑! 有坑! 有坑!


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第4张图片
4.上传keychain.png

第 5 步

在点击了 "Upload" 之后, 填写你电脑的密码和你开发证书的名字. 直接去你的钥匙串里面,找到你的开发证书, 拷贝一下名字就可以,然后保存.


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第5张图片
5.配置keychain.png

第 6 步 (重点)

说了第4步有坑. 因为第4步那个上传 keychain貌似根本没有什么卵用.
把 Library 下面的 Keychains 文件夹和 MobileDevice 文件夹拷贝到 Jenkins 所在的目录, 一定要是整个文件夹拷贝,具体如下图所示:

/Users/当前用户名/Library/Keychains/login.keychain
/Users/当前用户名/Library/MobileDevice
/Users/Shared/Jenkins/Library

另外,如果你发现你的 Jenkins 目录下面没有 Library 这个文件夹,很可能是 Jenkins 没有正确安装. 我在拷贝的时候发现 Jenkins 下没有 Library 文件夹,就自己手动建了一个, 然而并不能最终不能正常打包.最后是把 Jenkins 删了重装.


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第6张图片
6.拷贝文件夹.png

第 7 步 (重点)

更改 keychain 的访问权限,去往 Jenkins 目录下面的 keychain 文件,点击打开,然后更改开发证书的访问权限. 如下图.(我并不知道这一步是不是必须要做的.没有去实验,但是看了网上很多教程,有的教程这么做了.)

/Users/Shared/Jenkins/Library/Keychains/login.keychain

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第7张图片
7.更改访问控制.png

第二节 创建打包工程

第 1 步

如下图创建一个新工程


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第8张图片
1.新建项目.png

第 2 步

配置代码仓库,我公司使用的是 Git 仓库, 在这里我填写的是 SSH 地址. 填完了之后是报错的

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第9张图片
2.错误截图.png

第 3 步

点击上图红色方框里的 "add" 按钮,会出现配置 Credentials框, 或者你可以直接去 Jenkins 的首页,找到 Credentials 进行配置都是可以的.
1."Kind" 选择 SSH
2."Username"取个名字
3.在终端打开本地 SSH 文件夹(如果你电脑没有 SSH, 参考这个: 如何生成SSH key

open ~/.ssh

4.用记事本打开 "id_rsa" 文件,把里面的内容全部复制放到 "Private Key" 里面
5.保存

这里我用的是 SSH 连接代码库, 如果使用用户名和密码也是可以的,参考文章 Jenkins+xcode+SVN+fir自动打包

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第10张图片
3.配置SSH.png

第 4 步

回到配置 Git 的页面,选择你刚才添加的 key, 如果还报错!!! 那就是没有正确配置, 这时候你可以检查一下在代码仓库里面,你的账号下, SSH key 是否添加进来了. 这个 SSH 一定是要当前电脑生成的,不要从你旧电脑里面拷贝过来,不管用, 你可以把新电脑生成的 SSH Key 在你的代码仓库账号中添加进去,就可以继续使用了.

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第11张图片
4.配置完成.png

第 5 步

在 "Build" 中选择 "Xcode",如下图


Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第12张图片
5.选择Xcode.png

第 6 步

选择了 "Xcode" 之后如下, 点开这些设置项

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第13张图片
6.展开配置项.png

第 7 步 (重点)

配置 General build settings

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第14张图片
7.设置General build settings.png

第 8 步 (重点)

配置 Code signing & OS X keychain options

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第15张图片
8.配置Code signing & OS X keychain options.png

第 9 步 (重点)

配置 Advanced Xcode build options

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第16张图片
9.配置Advanced Xcode build options.png

第10步

你可以打包了

Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程_第17张图片
10.打包.png

下一个: Jenkins+Xcode+Git - 搭建持续构建环境 - 第五章 错误合集

后续

和 Jenkins 一路走来,经历了各种坑, 或许我看到的 Jenkins 和大家看到的 Jenkins 不一样. 这里我记录了自己在公司配置 Jenkins 的经历.

以下附上爬坑之路各路 Jenkins 玩家的文章,还是挺有用的,感谢你们的指引:

Jenkins+xcode+SVN+fir自动打包

iOS使用Jenkins+Xcode+fir 搭建持续集成环境

IOS:使用jenkins实现xcode自动打包

使用Jenkins搭建iOS开发的CI服务器

Jenkins+git+fir搭建持续集成环境(超详细搭建教程)

Jenkins+GitHub+Xcode+fir搭了一个持续集成环境

IOS开发之最新最全的持续集成解决方案

IOS用Jenkins持续集成笔记

iOS使用Jenkins+Xcode+fir 搭建持续集成环境

iOS 通过Jenkins 自动构建ipa

基于 Xcode 8.3+,利用jenkins持续集成iOS项目

你可能感兴趣的:(Jenkins+Xcode+Git - 搭建持续构建环境 - 第四章 创建打包工程)