欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用Jenkins实现iOS自动化打包

程序员文章站 2022-04-13 22:45:16
...

最近,需求是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 中已经加入了正确的证书。

我们将用脚本实现这一过程:
利用Jenkins实现iOS自动化打包

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

#!/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的官方文档。

高级设置

打包完发送邮件:
利用Jenkins实现iOS自动化打包

执行脚本:

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

输出信息:
利用Jenkins实现iOS自动化打包

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

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