一.安装jenkins

首先使用osx系统自带的homebrew来安装jenkins。

在终端中运行:

$ brew install Jenkins
$ ln -sfv/usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
$ launchctl load~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist



一切顺利的话,打开浏览器输入:http://localhost:8080/

就能看到jenkins已经运行起来了。

如果你需要关闭jenkins,只需要在终端中输入:

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist




二.配置jenkins

1.在jenkins新建一个用户

进入:Jenkins-系统管理-ConfigureGlobal Security

mac jenkins自动打包上传 jenkins自动打包部署ios_上传

按照图片所示选择,就新建了一个admin用户,并赋给它所愿权限。(小tips:勾选权限的时候,最右边有个全选按钮)

保存后退出,并刷新页面,jenkins就会要求你注册一个账号,我直接注册了用户名admin。之后直接登录就好了。


三.安装xcode插件

首先从https://updates.jenkins-ci.org/download/plugins/

中下载2个插件下来,一个是token-macro.hpi另一个xode-plugin.hpi

然后进入jenkins-系统管理-管理插件-高级选项-上传插件

需要先上传安装token-macro.hpi再上传安装xode-plugin.hpi。


四.构建project工程

选择:jenkins-新建。新建一个项目,项目名称DEMO,类型选择自由风格的软件项目

mac jenkins自动打包上传 jenkins自动打包部署ios_xcode_02

点击ok,构建完成。进入DEMO-配置-增加构建步骤

选择xcode

mac jenkins自动打包上传 jenkins自动打包部署ios_mac jenkins自动打包上传_03

然后,按照上面的提示写入相应的信息

mac jenkins自动打包上传 jenkins自动打包部署ios_svn_04

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_05

打包需要配置开发证书,有2种方式可以配置:

1.在xcode中配置好,直接打包即可

2.在jenkins中配置

我们直接来说一下第二种方法。

首先需要先找到证书的名称,在keychain中,找到要使用的证书,点击显示简介

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_06

把常用名称复制下来,然后填在code signing identify中,并在embedded profile中写上要用的mobileprovision本地路径

mac jenkins自动打包上传 jenkins自动打包部署ios_svn_07

采用这种方法需要在custom xcodebuil arguments这行添加一个定制参数:"CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist" 


然后构建运行。


构建过程中,可以在DEMO-BuildHistory中查看log

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_08




五.构建xcworkspace工程

不多说,直接上图吧

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_09

mac jenkins自动打包上传 jenkins自动打包部署ios_mac jenkins自动打包上传_10

mac jenkins自动打包上传 jenkins自动打包部署ios_xcode_11

与project工程的配置大同小异。




六.使用配置参数构建工程

进入配置页面,参数化构建过程-添加参数-String Parameter

mac jenkins自动打包上传 jenkins自动打包部署ios_mac jenkins自动打包上传_12


然后我们新建一个配置参数用来表示ipa的包名,然后写上默认值。

mac jenkins自动打包上传 jenkins自动打包部署ios_mac jenkins自动打包上传_13

配置好了后,我们就能在构建过程中使用这个参数了

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_14

最后保存退出配置页面,然后工程页面会出现一些改变。

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_15



七.使用svn

打包的时候经常要进行svn的update或者commit,可惜我试了几个svn的插件,都不好用,因此我直接用脚本了。

mac jenkins自动打包上传 jenkins自动打包部署ios_上传_16

使用这个脚本的前提是,你要在本地有个已经check out好的svn文件地址。


第一次写博客,有些地方不是说得很清晰,见谅。