脚本安装

Jenkins+xcodebuild+fir持续集成

2018-05-02  本文已影响129人  T_Choues

  最近在搞项目的自动化构建,一路过来,可谓是踩坑无数,故特地将某些细节记载下来,方便有需要的人。
之前看过一些文章,所以一开始准备用Jenkins上的xcode插件来构建,后来才发现那些文章写得虽好,但里边的很多配置都过时了,所以建议大家使用脚本来构建。插件会失效,但脚本不会过期。
这里特别说明:

  找资料要找最新发布的。
  找资料要找最新发布的。
  找资料要找最新发布的。

  在开始之前,建议大家先建立一个能够正常archive并export的空工程,因为真实的工程代码量很大,后面多次测试构建会很花时间。

1、下载安装Jenkins

image.png

  Jenkins是基于Java环境的,所以电脑上必须先安装Java,然后去Jenkins官网(https://jenkins.io/
)下载安装Jenkins。具体安装过程可参考以下文章:
手把手教你利用Jenkins持续集成iOS项目
安装完成后会自动打开http://localhost:8080这个网址,如果没有自动打开可以手动打开。打开后如出现找不到服务器的情况,可以尝试打开 http://127.0.0.1:8080,两者是一样的。有些教程还有添加Xcode integration 、Keychains and Provisioning Profiles Plugin之类插件的步骤,我们不需要。因为我们是用xcode脚本构建,所以不需要安装任何插件。之后的步骤没有什么坑,这里不再赘述。

2、新建任务

1)点击新建任务
image.png
2)选择“构建一个自由风格的软件项目”,点击确定
image.png
3)填写工程相关介绍
image.png
4)源码管理

  我选择SVN


image.png
5)构建触发器

  这部分后面再讲。我们先把手动构建的环境搭建成功,再来搞自动构建。

6)构建环境

  通过xcodebuild脚本的方式构建,这里不用做任何设置。

7)构建

  重点来了。
  点击“添加构建步骤”,选择Execute shell。


image.png

项目中使用了CocoPods,添加这段代码:

#bin/bsah - l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
cd $WORKSPACE/Test
/usr/local/bin/pod update --verbose --no-repo-update

继续添加构建步骤:


image.png
xcodebuild clean -workspace Test.xcworkspace \
                 -scheme Test \

xcodebuild archive -workspace Test.xcworkspace \
                   -scheme Test \
                   -archivePath "$WORKSPACE/Test.xcarchive" \
                   -configuration Debug \

xcodebuild -exportArchive -archivePath "$WORKSPACE/Test.xcarchive" \
                          -exportPath "$WORKSPACE/Export/Test" \
                          -exportOptionsPlist "$WORKSPACE/ExportOptions.plist" \
                          -configuration Debug \
            
fir publish "$WORKSPACE/Export/Test/Test.ipa" -T "d83355ce621b98d3b*****2ae9fa2"

说明:
-archivePath:.xcarchive文件的存放路径。
-exportPath:导出文件的路径。Export文件夹是自己建的。
-ExportOptions.plist:这个文件的内容其实是ipa的打包信息。手动archive并export时,这个文件就包含在最终输出的文件夹内,可以copy一份出来使用。
-configuration :默认Debug或Release。

这里有个坑要说明一下。archive和ipa的导出目录最好位于Jenkins用户下的那个工程中,我之前选择的是导出到当前用户的桌面,结果一直报读写权限的问题。

3、上传到fir

fir publish "$WORKSPACE/Export/Test/Test.ipa" -T "d83355ce621b98d3b*****2ae9fa2"

要实现自动上传到fir,要先安装fir-cli。
Github: fir-cli
fir token查看方法:

image.png

若过程出现:command not found:
1、控制台执行 echo $PATH ,复制输出内容。
2、jenkins->系统管理->系统设置。
3、勾选Environment variables,添加键值。键:PATH,值:刚才复制的内容。


image.png

4、配置自动触发器

  Jenkins在自动化构建的过程中,更多的是充当监察者的作用。一旦监察到仓库中的内容有任何变化,就自动触发构建打包。
自动触发构建可参考这篇文章:Jenkins之定时构建

至此,Jenkins+xcodebuild+fir环境搭建完成。
共勉。

上一篇 下一篇

猜你喜欢

热点阅读