一、资源下载地址及相关安装、配置方法
JDK下载地址
检查当前已安装jdk版本及其安装目录:
$ /usr/libexec/java_home -V
将下载好的 .war
包放入一个文件夹(桌面-jenkins文件夹),通过终端进入该文件夹中,通过以下命令启动:
$ java -jar jenkins.war
说明
:关闭方法在终端通过 ctrl + c
即可
看到如下图,即可通过浏览器访问 localhost
:
通过浏览器访问 https://localhost:8080 进入 Jenkins
管理界面,首次进入如下:
-
输入管理员密码(密码在红色提示的地址中)
-
安装推荐的插件
-
创建账号
至此,JDK + Jenkins相关安装及配置基本完成!
二、相关插件安装
通过下图搜索并安装相关插件:
Git Parameter Plug-In
Keychain and Provisioning Profiles Management
Xcode integration
三、开发证书及描述文件管理配置
-
login.keychain
文件
将上图login.keychain-db
文件(/Users/用户名/Library/Keychains
)复制到存放jenkins.war
包文件夹中,并将名字改为login.keychain
-
.mobileprovision
文件
登录开发者账号,下载Provisioning Profiles
文件,并一样放进存放jenkins.war
包文件夹中,如下图:
-
在 Jenkins 管理页面中配置
系统管理
--->Keychain and Provisioning Profiles Management
--->选取文件
--->Upload
依次将你的login.keychain
和.mobileprovision
文件上传,并填写开机密码和描述,如下图:
说明
:login.keychain
和 .mobileprovision
文件被上传到 /Users/用户名/.jenkins/kpp_upload
文件中,如下图:
点击 Save
即可。至此,证书及描述文件在 Jenkins
中的配置就完成了。
四、在Jenkins中创建任务及相关配置
- 新建一个自由风格的任务,如下图:
-
General
配置
此项根据自己需求配置,也可以不做任何配置
-
源码管理
配置
构建触发器
配置
此项根据自己实际需求配置即可-
构建环境
配置
依据下图勾选,并对证书及描述文件进行核对
-
构建
配置
在这里,我们先选择Xcode
,关于shell
,后面会讲到
添加好 Xcode
后,我们先点击如下图:
至此,Jenkins + Xcode的打包功能相关配置完成,我们在Jenkins管理页面选择我们配置好的任务:
点击 Build with Parameters
开始构建
查看控制台相关信息
经典错误信息:
我们先来看看我们输出路径里面有没有东西,打开 build
文件,如下图:
xcarchive
文件已经出来了,ipa
包没出来,好吧,至少已经成功一大半了。
错误原因:因为 Xcode 9 默认不允许访问钥匙串的内容,必须要设置 allowProvisioningUpdates 才会允许,Jenkins的Xcode插件目前无法支持此项完成打包流程。
到这里有没有觉得 Jenkins + Xcode 的方式很尴尬(除非你的项目不需要推送功能),好吧,至少这种方法我们已经会了,接下来,我们通过 Jenkins + shell 脚本打包。
打开相关任务的“配置”,直接滑动页面到“构建”,如果之前添加了 “Xcode”,请删掉。增加“shell”构建,如下图:
特别说明:
- 由于Jenkins会把我们绑定的项目Git仓库拉到它的
workspace
文件夹下(/Users/用户名/.jenkins/workspace),并且我的项目用了cocoapods
,只将Podfile
和Podfile.lock
两个文件托管到Git仓库,所以我要先进入到Podfile
文件路径下进行pod install
。 - 由于我的
shell脚本
是放在buildTool
文件夹下的,所以还要执行“cd buildTool”。 - 对于
fastlane
也是一样的,只是上图中的区域写fastlane
对应的命令即可。
最后,把结果呈现一下吧:
由于我的 shell脚本
写的是上传 firim
平台