iOS学习笔记iOS 开发随笔程序员

iOS 自动打包总结 fastlane +svn+jenkins

2018-04-04  本文已影响201人  Alger_梁
国际惯例.jpg

写在前面

  iOS 开发同学在开发过程中都会遇见的一个问题就是重复给测试同学打测试包,打包的过程虽说没有难度,但是程序员都是很拒绝这种重复而没技术含量的工作,虽说我们是码农,但是我们还是希望自己的工作是 去改变世界的!所以这种无聊的工作我们能偷懒就偷懒吧。

  公司控制发版和测试的工具使用的一直是 jenkins ,之前也有接触,但是只局限于 web 页面和服务器端发版提交,懂得一些基础配置。来到公司后,技术总监决定 iOS 也要实现自动打包,方便管理,然后我就接了这个锅!!!

首先你需要一台 mac , 用你自己的或者是公司能提供一台 mac mini 来充当发版服务器是最好的了,部署 jenkins 的工作我就不具体细说了,虽繁琐,但是不难。下面是我找到部署 jenkins 的文章
mac 下使用 jenkins 自动打包
mac 环境下如何配置 jenkins

当然在你那是什么项目都没有的,部署好以后先不用管,我们先配置好打包需要的环境,再来部署 jenkins。

fastlane 是一套工具,帮助你简化和自动化 App 发布或部署的过程,将之变成一条平直的工作流。通过 fastlane,你可以实现 持续分发(CD,一种用于自动化和改进软件分发过程的设计实践)。 通过 fastlane 内置的工具,你可以创建一个由 build task (又叫做 lane)构成的有序列表,你只需要点击一个按钮就可以将 App 发布到 App 商店。你可以节省大量的时间,用于提升软件质量,或者缩短团队中发布者的发布周期。

Fastlane是用Ruby语言编写的一套自动化工具集和框架,每一个工具实际都对应一个Ruby脚本,用来执行某一个特定的任务,而Fastlane核心框架则允许使用者通过类似配置文件的形式,将不同的工具有机而灵活的结合在一起,从而形成一个个完整的自动化流程。

通过 fastlane 内置的工具,你可以创建一个由 build task (又叫做 lane)构成的有序列表,你只需要点击一个按钮就可以将 App 发布到 App 商店。你可以节省大量的时间,用于提升软件质量,或者缩短团队中发布者的发布周期。

官网链接点这里(翻墙)
gitHub点这里

Fastlane 安装

xcode-select --install

若是出现下图,则说明你之前安装过;没有的话按照步骤安装即可


屏幕快照 .png 如果没有安装过则会出现以下安装页面 屏幕快照.png
ruby -v
出现以下页面就是以安装过了, 屏幕快照.png

没有安装版本太低或者是没有安装的同学请自行百度安装,这里就不过多赘述。

sudo gem install fastlane --verbose

如果出现以下错误:

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/rougify

则输入以下命令

 sudo gem install -n /usr/local/bin fastlane
fastlane --version

我的是 fastlane 2.89.0

蒲公英插件的安装

fastlane add_plugin pgye

出现以下界面

Plugin 'fastlane-plugin-pgyer' was added to './fastlane/Pluginfile'
It looks like fastlane plugins are not yet set up for this project.
fastlane will create a new Gemfile at path 'Gemfile'
This change is necessary for fastlane plugins to work
Should fastlane modify the Gemfile at path 'Gemfile' for you?
(y/n)

输入 y 点击回车出现

Installing plugin dependencies...
Successfully installed plugins

搞定!!!

Fastlane 配置

fastlane init
中间会让你输入苹果开发者账号的账号和密码,之后会在你项目工程的目录下生成一个fastlane文件夹,里面有Fastlane的配置文件,一个是Appfile文件,一个是Fastfile文件(如果要上传AppStore的话还有Deliverfile文件)。Appfile保存苹果开发者的相关信息、项目的相关信息等。Fastfile是运行脚本,目录如下图: 屏幕快照 .png

部署 jenkins

H 8 * * 1-6
意思就是在 SVN仓库代码发生改变的情况下,会在周一至周六每天早上8点自动构建版本,也就是自动打包。 屏幕快照.png
export LANG=en_US.UTF-8

export LANGUAGE=en_US.UTF-8

export LC_ALL=en_US.UTF-8

export PATH="~/.fastlane/bin:$PATH"

IPANAME="你要打包的scheme 名"
fastlane gym --export_method ad-hoc --output_name ${IPANAME}

curl -F "file=@包名.ipa" -F "_api_key=蒲公英的 app_key" https://qiniu-storage.pgyer.com/apiv2/app/upload

然后点击保存

证书配置

注意事项

写在后面

上一篇 下一篇

猜你喜欢

热点阅读