1、前言
在构建自动化部署的时候,发布对构建的 流程没有一个完整的思路,太过于碎片化。于是整体梳理了自动化部署的基本流程。
2、自动化发布原因
1、在测试阶段,会经常涉及到改动一些代码,就需要重新打包上传工作;
2、打包操作重复、耗时,还需要有人守着,简直是浪费时间。
3、把自己从枯燥重复的工作中抽审出来,干更有意义的事情。
3、基本思路
1、Jenkins平台上点击构建项目。
2、从gitlab repo拉取项目进行构建打包。
3、打包成功后上传到内测托管平台(fir、蒲公英)或Testflight。
4、上传成功后在钉钉群发送消息,告知相关人员下载。
4、应用介绍
这里需要用的技术框架主要有:Jenkins、fastlane、firim、pgyer、python
4.1、Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
在这里的作用就是一个用来配置构建信息、一键点击构建的可视化操作平台。其他更多应用欢迎自己探索。
这里要做的就是Jenkins的搭建和配置。
iOS开发-Jenkins自动化部署:Jenkins安装篇(二)
iOS开发-Jenkins自动化部署:Jenkins配置篇(三)
4.2、Fastlane
Fastlane是一套使用Ruby写的自动化工具集,旨在简化Android和iOS的发布过程,自动化你的工作流。它可以简化一些乏味、单调、重复的工作,像截图、代码签名以及发布App。可以使用 fastlane 上传到firim和蒲公英等托管平台。
iOS开发-Jenkins自动化部署:fastlane安装篇(四)
4.3、托管平台插件安装
只有安装了对应的插件,才能实现将打包好的xxx.ipa文件上传到对应的托管平台。详细的安装流程查看各自的官方文档:
fir.im Jenkins 插件使用方法
使用 Jenkins 插件上传应用到蒲公英
4.4、Python
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
这里用来发布到平台成功后的通知
这里会涉及到Python的更新安装、环境应用框架的导入和配置。
实现请参考:iOS开发-Jenkins自动化部署:python消息发送篇(五)