工具癖Jenkins & Linux程序员

iOS持续集成与自动打包

2018-12-24  本文已影响78人  WenBo丨星空灬

前言

从事iOS开发也有一段时间了,实习的时候自己就了解了iOS打包分发的一些方式,自己也写了一篇博客iOS打测试包与分发测试,介绍了如何打测试包以及上传相关的分发平台,也提到了脚本自动打包。现在自己负责几个项目的维护与开发工作,发现打一个包出来到上传到iTunes Connect上实在是太慢了,步骤也多,比较的耗时间,也不够自动化。后面自己了解了Jenkins持续构建工具,和fastlane自动打包工具,能够提高打包效率,下面开始介绍如何使用这些工具吧。

目录

fastlane

image

The easiest way to build and release mobile apps.fastlane* handles tedious tasks so you don’t have to.

一种快捷的方式去构建和发布手机APP,它可以帮我们处理冗长无味的工作。
最新公司项目打包频率增加,每次打包上传到三方分发平台或testflight上,都要耽搁好长的时间,我就在想有没有一种好的方式,帮我省去打包繁琐的过程,而是通过脚本自动打包上产到相应的平台,于是我就研究了一下fastlane工具,这篇博客主要是做相关记录,方便自己以后查阅,同时也希望能给需要的朋友一些参考帮助。

相关地址

安装fastlane

xcode-select --install
brew cask install fastlane
cd [工程目录]

fastlane init

初始化完成之后,工程目录大概是这个样子:

image

配置相关打包脚本

自己也是最近才熟悉了解fastlane相关命令的使用,我现在配置了打包到上传App Store和上传到Testflight上的脚本。我们可以通过不同的脚本配置,打出不同环境的ipa包,也可以直接通过fastlane配置上传APP相关信息到iTunes Connect上,比如应用截图,APP提交审核时一些信息等,自己暂时还没配置上传信息这些,下面只介绍我用到的吧。

脚本配置和上传App Store差不太多,唯一不同是用到了upload_to_testflight命令。

总结

自己能使用fastlane正常打出ipa包来,倒腾了一两天,网上介绍fastlane使用资料也是一搜一大堆,但大部分介绍都不是很全,最全的资料还是官方文档,这次的折腾也给了我很多启示,要学会看官方文档资料,现在也只用到了fastlane提供的部分功能,遇到的坑不是很多,等以后有更深入的使用,在更新博客与大家分享。

Jenkins

image

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.

Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.

怎么说呢,我也不太清楚自己是怎么接触到Jenkins持续集成工具的,当我有最初由持续集成概念的时候应该是我学习cocoapods制作私有共有库的时候,有一个GitHub的徽标是表示项目持续集成状态,叫Travis CI,貌似是开源项目免费,私有项目需要收费。自己那时候发布的pod库Travis CI没有通过,自己倒腾好久了才让这个徽标变为绿色。好了,不闲聊了,关于Jenkins介绍,我这里也不做介绍了,网上资料也是一搜一大堆,我只介绍集成和使用关键的几个步骤吧!

相关地址

安装Java环境(MAC)

image

错误已经给出提示了,按照提示安装java8吧:

brew cask install homebrew/cask-versions/java8

通过命令java -version查看是否安装成功。

项目创建

常规设置(general)

image

源代码管理(Source Code Management)

image

构建环境(Build Environment)

暂时没有用到,不做介绍啦。

构建(Build)

构建完成之后执行的操作,有如下选项

image

这里我认为是比较重要的地方啦,build成功之后,这里我们可已选择执行shell打包脚本,根据脚本配置导出ipa包,也可以执行fastlane命令上传App Store,也可以上传蒲公英或fir.im三方分发平台。

image

Post-build Actions

构建完成之后的操作,实用的就是发邮件通知构建结果,暂时不做介绍,有兴趣的朋友可以自行研究。

总结

总算介绍完成了,从零开始倒腾公司的项目,到支持Jenkins持续集成以及后续的操作,中间过程还是经历了很多的坑,但最后的结果还是令自己满意的,自己从中也学到了许多新知识,还是自己太“懒”吧,不然怎么会不折不休倒腾那么久,哈哈。现在打包还是比之前方便了许多,也省去了许多重复乏味的工作。如果文章中有描述不对的地方,还请大家不吝批评指正,自己也是最近才实践自动打包相关的工具,希望能和大家多多学习交流。

问题解决

参考文章

上一篇 下一篇

猜你喜欢

热点阅读