Mac搭建Jenkins持续集成iOS开发实践

最近项目要求Jenkins持续集成,刚好有时间同公司的其他业务部门有现成的就试着copy了一次,这里记录下小小心得,一起学习!

1、本地下载和设置Jenkins 、配置插件

jekins插件
1、Gitlab Merge Request Builder
2、Xcode integration

这里我就简单点,网上资料很多,比较注意的就是插件Gitlab Merge Request Builder,这个名字搜索插件才是对的。

《Mac搭建Jenkins持续集成iOS开发实践》 Jenkins插件配置

需要注意的是,Jenkins拉取gitLab代码的时候需要身份验证,我这里使用的是SSH,SSH的创建方式也很简单在终端生成一下就行。会生成两个文件一个是公钥、一个是私钥。Jenkins使用的是私钥,gitLab使用的是公钥,文件名带有pub是公钥。

《Mac搭建Jenkins持续集成iOS开发实践》 Jenkins配置SSH-private

当我们部署好Jenkins后在本机上访问使用的是localhost:8080,如果同局域网的设备也想访问的话就需要设置一个地址

《Mac搭建Jenkins持续集成iOS开发实践》 Jenkins设置对外地址

2、Jenkins构建任务和配置

构建任务就是常规的生成一个任务即可,进入到任务配置页我们可以设置参数,这里我使用的是分支参数。手动构建的时,可填入分支名称进行设置。配置git代码仓库就是copy git SSH链接,下面会讲到在git上配置SSH公钥。自动化构建语法可以去找资料,这里是每天两次自动打包,中午12点和下午6点。值得一提的我当前的配置情况,Jenkins是根据我的账户所在的分支进行打包的,就是说用户在什么分支就打当前分支,具体的需求是可以修改的。最后一步是构建脚本,因为我的项目之前是有本地打包脚本的,可以直接使用,后面会说明。有一个关键点,我这里没有和其他的教程一样去配置打包的证书,因为我的本地打包脚本都处理好了。如果你们使用Jenkins的设备是Mac机器,可以直接将证书导入到钥匙串,会自动访问,是不是很爽?

《Mac搭建Jenkins持续集成iOS开发实践》 进入任务配置页
《Mac搭建Jenkins持续集成iOS开发实践》 构建参数,选择分支构建
《Mac搭建Jenkins持续集成iOS开发实践》 连接git代码仓库
《Mac搭建Jenkins持续集成iOS开发实践》 构建触发器
《Mac搭建Jenkins持续集成iOS开发实践》 打包脚本

3、gitLab代码仓库设置

设置下git代码仓库,让Jenkins可以拉取和hook代码状态。我们找到hook设置的地方,把Jenkins上的那个链接复制进来”构建触发器”图中的CI地址。

《Mac搭建Jenkins持续集成iOS开发实践》 配置SSH
《Mac搭建Jenkins持续集成iOS开发实践》 找到webhooks
《Mac搭建Jenkins持续集成iOS开发实践》 添加hook

4、本地打包脚本编写

上面三步设置的都是Jenkins和git代码仓库相关的,其实我们持续集成需要的是什么?没错就是打包,我们需要节省时间来打包啊。这里就来介绍下本地自动化打包脚本。
这里有一个本地自动化打包脚本,里面的设置和说明很清楚了,这人是我的一个同事,他很牛,哈哈哈!下面说几个注意点

1、需要的插件就根据报错来安装吧,我不记得了哈哈!
2、这里有一个smb共享目录的装载,根据自己的需求可以管理
3、fir是个好东西,他支持这样的传包的,账户token自己去登录下就能找到了
4、我们需要一个打包的配置文件exportOptions.plist,下面我会给出配置图,大家可以也找找别的资料
5、我们需要把打包脚本和配置文件放在工程目录下
6、打包完会生成很多的ipa包,可以在.gitignore文件选择忽略

《Mac搭建Jenkins持续集成iOS开发实践》 获取teamID
《Mac搭建Jenkins持续集成iOS开发实践》 打包配置文件

总结一下吧:

这个自动化打包的东西,我就是搬运工,都是copy了同事的配置,另外希望大家都一起来学习吧!都在说行情不好,工作不好找,其实iOS现在是要求高了,大家一起来努力吧!

    原文作者:godgnay
    原文地址: https://www.jianshu.com/p/a458220955f3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞