iOS使用Jenkins实现自动化打包

序言

在开发大型项目的过程中,会涉及到多位开发人员以及测试人员。如果每次都让开发手动打包,不仅会在沟通上耗费巨大成本,打包本身也会耗费大量时间,造成没必要的资源浪费。而使用自动化打包方案,就可以省去沟通成本,在开发上传代码后,自动触发远程服务器打包,测试人员只需要等待该服务器自动打包完成,进行下载测试即可。这一套工作流程可以省去大量时间,提高工作效率。

环境配置

业界常用的自动化打包方案便是使用Jenkins。

安装JDK

进入JDK下载地址,下载JDK安装包,注意版本号,选择Java SE 8。

下载预览

安装成功

可以输入以下命令检查状态

java -version
检查状态

安装Jenkins

进入Jenkins下载地址,下载Jenkins安装包。

安装步骤

依照图示步骤进行安装

安装完成

安装插件

点击Manage Jenkins 中的Manage Plugins,选择Keychains and Provisioning Profiles Management(负责管理Keychains和证书)、Xcode integration(负责Xcode构建)和Email Extension Template(负责邮件通知)。

进入插件管理
证书管理插件
xcode编译插件

邮件插件

配置Jenkins,关闭跨站点请求伪造

为了能让Github通知到Jenkins服务器,必须要关闭此项,此项会屏蔽任何的远程API形式的访问。
进入Jenkins,点击Manage Jenkins里的Configure Global Security。


进入安全设置

找到跨站请求伪造保护,取消选中。


关闭跨站点请求伪造

配置GitHub通知地址

进入Github中的项目,点击Settings里的Webhooks,添加webhook,将安装了Jenkins的服务器的地址填入,这样每次项目推送代码后就可以往Jenkins所在的服务器发送通知。

添加webhook

地址为

【Jenkins服务器地址】/github-webhook/
设置Payload URL

配置Jenkins访问Github的Access Token

Jenkins想要访问Github上的项目,必须要配置access token。首先打开Github上个人账号的Settings,点击DeveloperSettings,选中Personal access tokens,点击Generate new token。

生成token

在Note处填写描述,勾上repo和admin:repo_hook两项。


配置预览

将生成的Token保存在合适的地方,一会会用上。


生成成功

进入Jenkins,点击Manage Jenkins中的Configure System


进入系统设置

添加Github服务器


设置GitHub服务器

添加凭据,选择为secret text类型,将Access Token填入。
添加凭据

添加后,选中该凭据,点击右侧的测试按钮,如果成功则会显示“Credential verified”。


测试连接

添加KeyChains和Provisioning Profile

选择Manage Jenkins中的Keychains and Provisioning Profile Management,如图


Keychains选项
上传

上传keychains文件和Provisioning Profiles文件,文件路径如下

~/Library/Keychains/login.keychains
~/Library/MobileDevice/Provisioning Profiles/【Provisional Profile文件】

code signing identify填写钥匙串中对应的项目所用到的provisioning profiles的名字

示例

创建任务

新建一个自由项目的任务


新建任务
选择自由项目

配置Git


配置Git

勾选触发器,此项代表追踪Git源码变更


触发器

构建环境勾上Keychains and Code Signing Identities和Mobile Provisioning Profiles
未勾选时
勾选后

配置构建步骤
选择xcode构建方式


选择xcode

打开General build settings中的Settings


General build settings

填写Configuration和Xcode Schema File。
设置

填写ipa的一些设置


设置ipa的

打开Advanced Xcode build options


Advanced Xcode build options
设置workspace的一些参数

配置构建后步骤
选中Archive the artifacts和Editable Email Notification。这两步作用分别是在jenkins上生成ipa包下载连接,以及使用E-mail通知。


选择步骤

设置存档文件

点击Advanced Settings

设置邮件触发器为每次构建成功就往Recipient List中的邮箱地址发送邮件。


设置邮件触发器

配置邮件设置
进入Manage Jenkins中的Configure System,配置JenkinsURL和系统管理员邮件地址


Configure System
配置系统管理员
配置邮件

设置为每次成功构建就发邮件。

设置邮件触发器

结果验证

往github上的项目push一次代码,验证结果。
可以在Jenkins对应项目中的GitHub Hook Log中看到,监测到18:54分的代码推送,自动触发了#27的打包。


Jenkins自动打包

构建完成后,邮箱也收到了通知,并且附上了网址。


邮件通知

进入该网址,可以看到构建好的#27的BlogSample项目的ipa包,并且也将commit信息附在了上面。
IPA包下载连接

总结

通过这样一套流程,每当程序员将代码推送到指定分支的时候,就可以触发Jenkins的自动打包,当打包完成后,将会发送邮件给测试人员,测试人员就可以通过链接访问Jenkins上对应的构建包,进行测试,省去了很多不必要的沟通成本,从而提高开发效率。

你可能感兴趣的:(iOS使用Jenkins实现自动化打包)