1、安装Homebrew,Homebrew 是Mac系统的包管理器,用于安装一些其他必需的工具软件,比如NodeJS,Jenkins等。已经安装的请略过。
本文使用的Homebrew 1.3.5,使用命令$ brew --version查看。
2、安装Jenkins,
在终端执行
$ brew install Jenkins
Jenkins需要Java环境,请确保已经集成Java环境,安装不成功请移步百度。
![](https://img.haomeiwen.com/i6260113/fd47b07b18012912.png)
安装成功之后切换到Jenkins目录,启动
$ cd /usr/local/Cellar/jenkins/2.84/libexec
$ java -jar ./jenkins.war (也可以使用$ jenkins进行启动,前者可以设置端口号$ java -jar jenkins.war --httpPort=8888 )
控制台会打印一些内容
![](https://img.haomeiwen.com/i6260113/11ceea75bdc4b0b9.png)
上图红线上方有一句话 ,
Please use the following password to proceed to installation:
因此打开http://localhost:8080,输入密码继续安装。
![](https://img.haomeiwen.com/i6260113/e415804e92c769f9.png)
选择install selected plugins之后
![](https://img.haomeiwen.com/i6260113/71b527a403ea0484.png)
安装成功之后会让你注册
![](https://img.haomeiwen.com/i6260113/75b31e4686987b28.png)
注册成功之后
![](https://img.haomeiwen.com/i6260113/30c0c65ae7e11c99.png)
跳转下图所示界面
![](https://img.haomeiwen.com/i6260113/eff78a2c60cb58eb.png)
或者直接使用$ jenkins启动,出现下图说明启动成功
![](https://img.haomeiwen.com/i6260113/7f34b7f945a49dc5.png)
3、配置Jenkins
①安装需要用到的插件
系统管理->插件管理->可选插件 搜索Git plugin、GitHub Organization Folder Plugin、Xcode integration、Keychains and Provisioning Profiles Management安装
以上分别是Git插件,Xcode插件,证书管理插件,还可以根据需要安装命令行插件。
安装成功之后重启Jenkins。
②配置证书
系统管理-> Keychains and Provisioning Provisioning Management
打开/Users/{用户名}/Library/Keychains/目录选择login.keychain文件点击upload
Code Signing Identity :配置打包要用的证书。
Provisioning Profiles Directory Path:/Users/{用户名}/Library/MobileDevice/Provisioning Profiles/
点击选择文件,选择Provisioning Profiles Directory Path路径下的文件,upload。会加载上传的provisioningprofile文件
![](https://img.haomeiwen.com/i6260113/57bd822049601b6f.png)
③系统设置
系统管理->系统设置->Xcode builder
![](https://img.haomeiwen.com/i6260113/6164d2d491abe557.png)
④新建项目
回到首页,选择新建,创建一个自由风格的软件
![](https://img.haomeiwen.com/i6260113/fd552579b9a0d7ca.png)
⑤配置项目
填写项目名称
![](https://img.haomeiwen.com/i6260113/acb19e42cbfadaac.png)
源码管理
Repository URL :仓库地址
Credentials: 选择高级 设置好Git的账户密码之后,这里选择设置好的账号密码。
Branches to build:默认指定主分支
![](https://img.haomeiwen.com/i6260113/fb594084e2a8a8b8.png)
构建触发器
Build periodically (定时build):设置每天23点build
Poll SCM (poll source code management) 轮询源码管理
需要设置源码的路径才能起到轮询的效果。一般设置为类似结果: 0/5每5分钟轮询一次
![](https://img.haomeiwen.com/i6260113/963c152f71447463.png)
构建
![](https://img.haomeiwen.com/i6260113/c5dfa6da1bb869d9.png)
![](https://img.haomeiwen.com/i6260113/8542d48f5302f935.png)
![](https://img.haomeiwen.com/i6260113/2a735eb54ee701ac.png)
![](https://img.haomeiwen.com/i6260113/e59a37817cf399a3.png)
使用cocoapods管理项目的需要如下配置
Xcode workspace file:{项目名}.xcworkspace文件位置
![](https://img.haomeiwen.com/i6260113/c858260a8af55a8e.png)
保存之后,选择立即构建,
![](https://img.haomeiwen.com/i6260113/35ed849c8ddf22c3.png)
![](https://img.haomeiwen.com/i6260113/67d9f7fd87e4b873.png)
哎呀呀,失败了,点进去查看下日志。
"Error Domain=IDEProvisioningErrorDomain Code=9 \"\"Test8.app\" requires a provisioning profile.\" UserInfo={NSLocalizedDescription=\"Test8.app\" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the \"provisioningProfiles\" dictionary in your Export Options property list.}"
)}
error: exportArchive: "Test8.app" requires a provisioning profile.
Error Domain=IDEProvisioningErrorDomain Code=9 ""Test8.app" requires a provisioning profile." UserInfo={NSLocalizedDescription="Test8.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}
** EXPORT FAILED **
需要在导出plist文件(也就是上图中development86xxxxxPPExport.plist)中添加provisioningProfiles属性。先不要修改plist,因为这个文件是根据我们构建的时候填写的参数自动生成的。
其实这个这个问题是Jenkins版本与Xcode版本不对应造成的。
使用sudo xcode-select -switch /Applications/Xcode8.3.app切换到Xcode8.3,
立即构建->成功啦。
![](https://img.haomeiwen.com/i6260113/00dee9ffee0930c0.png)
那么问题来了,由于swift版本的问题,公司的项目只能在Xcode8.2上运行,其他Xcode构建会失败。
怎么办呢,使用万能的命令行吧,想怎么样就怎么样。不用考虑Jenkins版本问题。
只需要在构建的时候选择Execute shell 自动构建命令
![](https://img.haomeiwen.com/i6260113/987bb41a3fb5c1af.png)
到此,大家赶紧给自己的项目配置下自动打包环境吧。
![](https://img.haomeiwen.com/i6260113/7e36bf8fa99de0c1.png)
修改export method,但是从日志中查看,签名依然使用的开发证书。
是因为Xcode自动管理管理证书,signing certificate 使用的是开发证书,如果需要指定证书打包,那么取消自动管理。
![](https://img.haomeiwen.com/i6260113/7ec45d1f0ddaa944.png)
很有用
还有一个很实用的东西--构建后操作
构建成功后可以邮件通知相关人员,还可以钉钉通知,具体操作请百度。
![](https://img.haomeiwen.com/i6260113/a2b099f805433798.png)
以上就是全部内容。希望对大家有帮助,写的不对的地方,还请批评指正。
网友评论