我的GitHub
0%

Jenkins配合FastLane完成打包

Jenkins配合FastLane完成打包

FastLane的使用

Jenkins的安装

我们将两者组合起来.

首先说一下,ios打包用的xcbuild命令,所以必须是macos环境,这个不用多解释.

所以….Jenkins所在宿主机得是mac系统的(如果有大神知道别的方式,麻烦指点一下),因为没有多余的mac机子,我就搭在了我自己的机子上.

接下来我们说说怎么搞

启动Jenkins

首先,启动终端,输入

1
Jenkins

启动Jenkins,打开地址(没改过端口就是8080了)http://localhost:8080

新建任务

新建item
新建item
新建自由项目

啥也不用勾,写个描述差不多了
image
源代码管理需要写一下
源代码管理

触发器什么的啥也不用写

最后就是这个Execute shell了

Jenkins从git上拉完代码,会执行这里面的shell

shell脚本的编写就需要各位去学习一下了

下图是我的shell脚本,我给大家讲解一下我每一行的作用

Execute shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#Jenkins部署在我本机,我本机作为宿主机,拉下来的代码也在我本机,所以我想看一下代码拉下来以后的路径,因此在这里打印一下
echo "获取当前项目路径"
echo $(pwd)
#------------react-native的三方库操作 start--------------#
#做一次yarn操作,因为我的项目是react-native项目,且node_modules不上传git,因此从git上拉下来的代码是不包含node_modules的,我需要做一次yarn操作.
#同理,你的ios项目如果是使用pod管理,你可以做一次pod install,把需要的三方库拉下来
echo "执行yarn操作"
yarn
#替换需要修改的文件,这个install2是我在项目里写的脚本,做我需要的一些事,可以忽略
npm run install2
#------------react-native的三方库操作 end--------------#
#上述动作执行完毕以后执行下面的操作
echo "执行完毕,cd到ios下做打包工作"
#cd到ios目录下,当然,如果你本身就是ios纯原生项目,你就不要cd了
cd ./ios
echo "开始打包"
#执行你写的FastLane的action,可以见文章开头的FastLane的使用
fastlane test_ad
echo "打包完毕"
#------------打包完毕,下面是我自定义的一些操作--------------#
#因为我打完包需要给测试做内测分发,自己搭建了一个内测分发的压面,下面是我自定义的一些操作,这里就省略了
#....

点击保存,就这样,打包脚本的编写就完成了
保存

测试一下

直接上图把,看图比较直观

开始构建

查看正在构建的任务

查看控制台输出
所有的log信息都在这里看,报错了也可以在这里看到底什么地方报错了,针对性解决对应错误.如下图

控制台输出
最后的结果如下图

结果

产物
Jenkins拉下来的项目,成功打出ipa包和dsym文件.

同时,你有打出来的包文件的路径,你是想上传蒲公英或者别的平台或公司内部有分发,都是可以直接拿着产物为所欲为的.例如:我将它放到了我们自己的服务器上进行分发.见下面这篇文章

ios内测分发(企业/非企业分发)

Jenkins打完包以后公司内部服务器分发(还没写,挖坑待填)

我是阿星,阿星的阿,阿星的星!