利用Jenkins实现iOS自动化打包

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

安装 Jenkins

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

java -jar jenkins.war --httpPort=8080

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

http://localhost:8080

这样就打开Jenkins页面了。

安装 fastlane

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

自动化构建设置

在 Jenkins 中,点击“新建”,输入 item 的名称,选择“构建一个自由风格的软件项目”,然后点击“OK”。



然后写构建信息:

  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

输出信息:


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

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

你可能感兴趣的:(利用Jenkins实现iOS自动化打包)