在开发的时候,每一个版本结束之后都要将工程代码打包成ipa文件,然后分发给测试团队进行测试,每次改一个小bug都要打一次包,实在是效率太低了,为了解决这个问题,于是想通过配置jenkins与蒲公英平台实现全自动的打包化,从此之后开发人员就不用再关注打包这种繁琐而没有意义的事情上,可以更专心的开发工作,最终要实现以下目标:
当开发人员将代码改好上传到svn或者git仓库管理器上之后,jenkins会自动的去查询是否有代码的改动,如果代码有改动就会将目标工程进行打包,打包之后再将包文件上传到蒲公英平台,再通过邮件的形式告知所有测试人员,邮件中包含蒲公英的下载链接,点击便可安装,这样一来开发人员就不必去关心打包工作,只需要将修改的代码上传到svn或者git就好。
主要步骤:
1 jenkins的安装
有两种方法来安装jenkins,分别是:
方式1: 通过去官网下载pkg包安装;
方式2: 通过homeBrew命令行安装:
brew install jenkins
通过两种方式安装有几点不同:
1 安装的目录不一样;
2 卸载的方式不一样,如果是方式一安装的则需要到目录下找到uninstall程序点击卸载,如果方式2安装的则直接在命令行执行:
brew uninstall jenkins
极力推荐第二种方式,方便快捷。
在安装过程中按照提示一步一步执行便可;成功之后,直接在浏览器地址栏中输入:localhost:8080即可;
第一次进入的时候需要设置账号密码之类的信息,设置完成之后便可以通过账号密码登录进去。
如果需要退出jenkins直接在端口后面添加exit,重启添加restart,重新加载reload;
2 Fastlane
是一套使用Ruby写的自动化工具集,目的是为了简化安卓与IOS的部署过程,自动化工作流。
1 安装xcode命令行工具
xcode-select --install
如果是直接在mac上使用了xcode工程的话一般都是默认装好的,就可以直接进行第二步;
2 安装Fastlane
sudo gem install fastlane -NV 或者 brew cask install fastlane
建议使用gem安装,安装执行
fastlane --version
便可确认是否安装完成和当前使用的版本号。不过在这个过程中可能会遇到一些问题,比如JDK版本过高或者过低,此时就要下载对应的版本下载,总之遇到具体问题具体分析,通常看到提示都是能够解决的。
3 初始化fastlane
通过终端命令cd+目录,直接跳到工程目录,执行:
fastlane init
成功之后工程文件中会多出几个文件,如下图:
其中Fastfile则是我们应该操作的文件,在文件中编写:
platform :ios do
desc "Description of what the lane does"
lane :custom_lane do
# add actions here: https://docs.fastlane.tools/actions
end
lane :beta do
build_app(export_method: "ad-hoc")
pgyer(api_key: "f9467c727eb065b322341c6c49f22aac", user_key: "fa31dbf8cd6bcc6ef0d6c1b01bce1788")
end
end
其中ad-hoc指的是包的格式,同时还设置了蒲公英的api_key和user_key,这两个值直接到蒲公英官网实名注册一下就可以获得了。
在执行beta do都命令时可能会经历很多次失败,但是不要放弃,从log中寻找失败的原因,然后再一步一步的解决这个问题,可能是因为没添加证书,插件版本过低等,耐心的一个一个解决即可。
想要上传到蒲公英还需要安装它的插件,执行命令行:
fastlane add_plugin pgyer
为了避免每次新建项目都要执行fastlane init命令,可以将固定的几个文件和工程文件一起上传到svn中,这样一来就不用每次都执行fastlane init命令了。
3 配置jenkins
基础工作基本已经搭建完成之后,就要进行实际的操作了,登录到localhost:8080
1 新建一个任务,选择自由风格的软件项目即可;
2 进入系统管理-系统设置