mac os下 用 jenkins 实现ios自动化打包 上传到 fir

背景:每次测试都需要人工打包,是在繁琐及浪费时间,于是就尝试实现自动化打包。

1、安装jdk,已安装了,请忽略,点此下载jdk

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第1张图片
图1

2、下载  安装  Jenkins 下载 

3、安装完后打开 http://localhost:8080/   后需要输入密码。

获取密码:  密码地址在

/Users/Shared/Jenkins/Home/secrets/initialAdminPassword

可能无权限打开文件,设置成只读权限就可以了。拷贝内容输入图2框中


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第2张图片
图2

4、进入后安装默认插件即可。

5、之后 如 图3创建用户

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第3张图片
图3

以上步骤完成,恭喜你可以开始使用了 jenkins了。

接下来说 jenkins的使用

6、安装插件

因为我们用的是GitLab来管理源代码,Jenkins本身并没有自带GitLab插件,所以我们需要依次选择 系统管理->管理插件,在“可选插件”中选中“GitLab Plugin”和“Gitlab Hook Plugin”这两项,然后安装。

安装Xcode插件

同安装GitLab插件的步骤一样,我们依次选择系统管理->管理插件,在“可选插件”中选中“Xcode integration”安装。

安装 Keychains and Provisioning Profiles Management插件

系统管理->管理插件->可选插件  。

7、配置ssh key    [email protected]  是git仓库账号

$ ssh-keygen -t rsa -C “[email protected]

中间会问你要设置私钥的密码,直接敲回车即可,可以不用设置密码。

最后得到了两个文件:id_rsa和id_rsa.pub

在gitlab上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。

进入到目录

cd /Users/你的名字/.ssh

插看内容

cat id_rsa.pub


图4--涂掉的是邮箱地址

注意:全部内容都要要拷贝上

私钥部分:命令  cat id_rsa  是私钥内容,如图5

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第4张图片
图5

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


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第5张图片
图6

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


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第6张图片
图7

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第7张图片
图8

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第8张图片
图9

至此 token 已设置完毕。

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第9张图片
图10

9、git  链接路径配置

先如图11,进入系统设置

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第10张图片
图11

进入后找到gitlab,如图12

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第11张图片
图12

10、项目创建  如图13

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第12张图片
图13

11、然后进行设置项目

首先选择git链接路径  如图14

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第13张图片
图14

第二设置源码,如图15

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第14张图片
图15

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第15张图片
图16

第三步 配置证书和provisoning

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


图17

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第16张图片
图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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第17张图片
图19

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第18张图片
图20

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第19张图片
图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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第20张图片
图22

设置 Xcode Bullder,如图23


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第21张图片
图23

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第22张图片
图24-1

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第23张图片
图24-2


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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第24张图片
图25


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第25张图片
图26

第六步  添加  构建 -> 选择 Xcode

图27 这几个setting 需要设置下


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第26张图片
图27

1> General build settings

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第27张图片
图28
mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第28张图片
图29

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第29张图片
图30

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第30张图片
图30
mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第31张图片
图31

以上操作完,你就已经可以正常生成ipa包了。您可以试试。

如果遇到 错误  The project named " " does not contain a scheme named " ".

解决办法 如图进入schemes  管理,选中  Shared即可。 如图 32、33


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第32张图片
图32
mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第33张图片
图33

12、上传 fir

首先给jenkins装上插件,参考fir jenkins插件 帮助 

然后进入jenkins 刚才的工程 进行配置—增加构建后操作步骤,如图34、35


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第34张图片
图34


mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第35张图片
35

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

mac os下 用 jenkins 实现ios自动化打包 上传到 fir_第36张图片
图36

以上步骤操作完成,恭喜您,已经可以自动化打包了。

希望以上能帮到你,如有问题请留言。

你可能感兴趣的:(mac os下 用 jenkins 实现ios自动化打包 上传到 fir)