在第一篇Jenkins的搭建中我们已经把本地jenkins环境都搭建好了,接下来我们通过jenkins构建一个ipa并且上传到蒲公英。
创建任务
1.首先选择左侧的新建任务,然后下面是构建该工程的基本信息


填写源码地址
- 下面填写github或者gitLab的源码的地址,并且需要配置对应的Credentials,这里相当是授权。等到构建的时候jenkins会从对应的git上面拉去代码开始构建。

填完源码的网址之后需要填写git的账号密码或者输入对应的私钥。点击Add然后会出现下面的界面

如果你的git已经配置了ssh那么可以选择SSH username and private key, 然后到你的/Users/用户名/.ssh/id_rsa 将这个私钥文件里面的所有内容复制到privatekey (enter directly)上面去。
否则可以按照上图那样,选择username with password,然后输入用户名和密码
设置触发器(非必要)
- 构建触发器是与测试相关的操作,这里可以根据需求选择构建的触发时刻,例如选择第二个就是当代码仓库有push事件的时候,就会触发构建操作,然后构建一个版本并且通知测试去操作。因为我们是手动构建,所以这里先不管这个。

设置签名和证书
- 接下我们需要设置签名文件和证书。
首先保存我们原先的设置,然后回到首页,选择系统管理->Keychains and Provisioning Profiles Management 点击选取文件,然后选择login.keychain文件和 provisioning file 上传。
填写本机密码,输入描述,然后选择Add Code Signing Identity 输入签名文件的名称,这里的名称可以到钥匙串找到对应的证书然后选择显示简介然后复制头部的文字。
这个Keychain在/Users/管理员用户名/Library/keychains/login.keychain,当把这个Keychain设置好了之后,Jenkins会把这个Keychain拷贝到/Users/Shared/Jenkins/Library/keychains这里,(Library是隐藏文件)。Provisioning Profiles文件也直接拷贝到/Users/Shared/Jenkins/Library/MobileDevice文件目录下

上面的配置完成之后,回到任务的配置里面,选择对应的keyChain和provisioning file

构建命令
- 上面已经将所有的设置都配置好了,接下来需要选择构建的方式,你可以选择通过xcode来构建,但是这里我们选择shell 并且也推荐通过shell来构建。选择执行shell,然后输入下面的代码,里面有些地方需要改成你自己的,根据实际情况改就可以了,不过一定要注意一点,jenkins那个编辑框极其不好用,我因为不小心输入了一个空格字符然后一直报 command not found ,搞到我一直以为是jenkins配置环境的问题。如果中间有构建错误,点击构建那个红点然后可以查看具体的控制台信息,根据错误提示来修改就好了
1 | # 工程名,记得改成你自己 |
这里有个地方需要注意一下,在xcode9之后,需要提供一个信息才能打包,我们可以通过xcode打包出来ipa文件然后复制那个ExportOption.plist文件就好了以下是我的文件的内容
1 | <?xml version="1.0" encoding="UTF-8"?> |
如果成功之后会在我们指定的文件里面生成下面的文件,除了那个ADHocExportOption.plist是我创建的,前天的文件都是jenkins构建的。

上传ipa到蒲公英
1 | #上传到蒲公英 |
命令行构建
- 至此我们已经完成手动构建项目了,接下来我们利用Jenkins命令行来完成一行命令构建版本
进入系统管理然后选择Jenkins命令行,下载最新的jenkins-cli.jar
下载完成之后,如果直接运行上述命令行会提示没有权限,这个时候我们需要配置一下SSH。点击右上角的用户名,然后点击设置,找到SSH,然后将本地的公钥复制粘贴到上面,保存。
下面是完整的命令。
1 | add-job-to-view |
我们执行命令的格式是java -jar jenkins-cli.jar -s http://localhost:8080/ -ssh -user username command
command 就是我们需要执行的命令,build是构建命令,下面的事情就很简单了。
java -jar jenkins-cli.jar -s http://localhost:8080/ -ssh -user username build UMC10.1.0Demo
UMC10.1.0Demo是我们一开始创建任务的时候的名字,这个时候就会自动构建版本并且上传蒲公英
可以将上述命令放到.command文件里面,并且增加可执行权限,这样双击这个文件的时候就会触发构建。注意里面cli.jar的路径。
上述命令指示构建一个指定版本的脚本,下面我们可以通过列举出所有的任务,然后选择其中一个任务来开始构建版本
1 | #!/bin/bash |
总结
综上所述:总的来说在我们jenkins已经安装好的情况下,我们需要做的就是构建任务,然后填写源码地址,设置构建策略,设置签名和证书,编写构建代码(包括上传蒲公英),编写shell。