利用Jenkins实现iOS自动化打包

最近,需求是iOS自动化打包。找了很多资料,一直没有特别全的iOS打包流程。所以,花费了很多力气来处理iOS打包遇到的问题,所幸,终于大功告成,今天用一篇文章来阐述iOS打包的过程。

安装 fastlane

fastlane 是一个可以将 iOS 项目打包成 ipa 文件的工具。要安装 fastlane,可以参考 fastlane 在 Github 上的的官方文档

安装 Jenkins

如果在 Mac 环境下,安装 JDK,然后在 Jenkins 的官网 下载最新的 war 包。下载完成后,打开终端,进入到 war 包所在目录,执行以下命令:

java -jar jenkins.war --httpPort=8080

等到Jenkins启动后,在浏览器页面输入以下地址:

http://localhost:8080

构建设置

在 Jenkins 中,点击“新建”,选择“构建一个自由风格的软件项目”。
然后写构建信息:

  1. 源码管理:可以拉取git上的代码,更新git代码将会触发构建
  2. 构建触发器设置:可以定时构建,也可以检测到线上代码修改构建
  3. 构建环境设置:直接用 fastlane 工具,不需要特别设置。fastlane 会自动读取本地 iOS 项目中设置的签名等信息,所以,需要确保本地已经设置好了正确的签名信息和 Provisioning Profiles 等文件,并在 keychain 中已经加入了正确的证书。

我们将用脚本实现这一过程:

下面是本文中最重要的脚本代码

#!/bin/bash -l
//上传崩溃日志
lane :build_AppStore do |options|
gym(scheme: "",
	workspace: "",
	configuration: "",
	export_method: "",
        output_name: "",
	output_directory: "",
	include_symbols: false,
        xcargs: options[:PREPROCESSOR],
        export_options: "",
	clean: true)
upload_symbols_to_crashlytics(
	dsym_path:"", 
	api_token: ""
)
end
EOF
//打包
fastlane build_AppStore WORKSPACE:${WORKSPACE} PREPROCESSOR:""

具体看查看fastlane的官方文档。

高级设置

打包完发送邮件:

执行脚本:

#!/bin/bash -l
touch $VARIABLES
xxx=`du -sh XXXX.xcodeproj`
echo -n "xxx=" $xxx
sed -i "" /^yyy=/d $VARIABLES
echo yyy=${xxx} >> $VARIABLES

输出信息:

当然,在自动化打包中会遇到各种各样的问题,特别注意本地路径问题、打包证书问题、打包脚本的语法问题等等。

至此自动化打包过程已经全部完成!!!

猜你喜欢

转载自blog.csdn.net/John_5555/article/details/87072390