首页> 中国专利> 一种实现iOS APP持续交付的方法

一种实现iOS APP持续交付的方法

摘要

本发明公开了一种实现iOS APP持续交付的方法,属于计算机APP技术领域。通过fastlane脚本导出iOS安装包;通过swift语言脚本实现平台交付,并将打好的包上传;注册GitLab Runner,将启动的Runner和GitLab CI绑定;在项目根目录中配置.gitlab‑ci.yml文件,使项目在由开发人员打tag版本时会自动重新更新一遍项目的pod库,然后触发之前的fastlane导出iOS安装包操作。将多个项目开发过程中的tag版本维护和iOS APP持续交付结合在一起;大大解放了平常iOS打包的繁琐流程以及发布流程,并降低了人员多个项目打包和发布中包版本的出错性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F8/71 变更前: 变更后: 变更前: 变更后: 申请日:20191128

    专利权人的姓名或者名称、地址的变更

  • 2020-05-29

    授权

    授权

  • 2020-02-04

    实质审查的生效 IPC(主分类):G06F8/71 申请日:20191128

    实质审查的生效

  • 2020-01-03

    公开

    公开

说明书

技术领域

本发明属于计算机APP技术领域,具体涉及一种实现iOS APP持续交付的方法。

背景技术

现在常规的iOS打包方法是通过Xcode工具进行人工手动编译和手动打包,因为iOS打包相对比较耗时,其中每一步都需要开发者来操作,中间开发者没法做别的事情。等Xcode将包打出来后,开发者还需要手动将包上传到第三方平台发布,并配置相关信息。所以可以看出,旧有的打包方式过程比较繁琐,且当对导出的包做相关配置时容易出现纰漏,需要开发者一步一步操作,这也就导致了工作效率的低下。如果当项目需要频繁打包的时候,那对于开发者来说简直就是噩梦。

发明内容

针对现有技术中存在的问题,本发明的目的在于提供一种实现iOS APP持续交付的方法,可以实现方便快速的进行打包,提高效率,减少出错率。

为了实现上述目的,本发明所采用的技术方案如下:

一种实现iOS APP持续交付的方法,通过fastlane导出iOS安装包,然后通过swift语言脚本实现平台交付;注册GitLab Runner,将启动的Runner和GitLab CI绑定;在项目根目录中配置.gitlab-ci.yml文件,使项目在由开发人员打tag版本时会自动重新更新一遍项目的pod库,然后触发之前的fastlane导出iOS安装包操作,将开发过程中的tag版本维护和iOS APP持续交付结合在一起。具体包括以下步骤:

步骤S1:给本地项目注册GitLab Runner,将启动的Runner和对应的远程gitlab项目上的GitLab CI绑定,在项目根目录中生成.gitlab-ci.yml文件,等待配置;

步骤S2:通过fastlane脚本实本地项目打包并导出iOS安装包;

步骤S3:通过swift脚本将fastlane所打的包进行上传到指定对外平台;

步骤S4:对步骤S1中的.gitlab-ci.yml文件进行配置,让其执行步骤S2中的fastlane脚本;

步骤S5:用户给gitlab远端项目打指定的tag版本,从而自动触发步骤S2中的fastlane脚本和步骤S3中的swift脚本。

所述的实现iOS APP持续交付的方法,触发之前的fastlane导出iOS安装包操作中可复制多个项目端,多个项目通过打tag从而实现批量持续交付。

所述实现iOS APP持续交付的方法,fastlane所打的包上传的同时接入第三方通知系统,上传完成后来通知相关人员。

所述实现iOS APP持续交付的方法,所述第三方通知系统为钉钉机器人或邮件。

所述实现iOS APP持续交付的方法,在fastlane脚本中配置打包和导出命令以及执行swift脚本命令,让其执行完fastlane的打包及导出脚本后,再继续执行swift中的脚本。

所述实现iOS APP持续交付的方法,在swift脚本中还可以将用户需要的文件进行上传指定对外平台;所述用户需要的文件为项目的版本文件,或触发APP中检测版本更新功能的文件,从而让老用户的APP进行更新提示操作。

所述实现iOS APP持续交付的方法,在.gitlab-ci.yml文件中配置如下:在指定的分支上进行tag操作时,触发fastlane脚本操作。

所述实现iOS APP持续交付的方法,打指定项目的tag版本时,用户使用可视化的SourceTree打包,或者使用SVN进行打包,或者用命令行,或者直接在gitlab服务器上手动操作。

所述实现iOS APP持续交付的方法,自动打包上传到指定对外下载平台后,通过swift脚本将指定对外下载平台的下载地址集成进入第三方通知系统,生成二维码并通知相关人员下载;所述第三方通知系统为钉钉机器人或邮件,对外下载平台为蒲公英或fir。

有益效果:与现有的技术相比,本发明的优点包括:

(1)本发明通过gitlab ci以及调用多脚本语言实现一体化自动打包,与传统的Xcode打包方法(通过Xcode先进行手动编译,然后手动打包并导出,再传到第三方平台上)相比,本发明打包方式采用系统配置为输入参数,全程自动化打包的方式,可以方便快速的进行打包,提高效率,减少出错率。

(2)本发明将多个项目开发过程中的tag版本维护和iOS APP持续交付结合在了一块,大大解放了平常iOS打包的繁琐流程以及发布流程,并降低了人员多个项目打包和发布中包版本的出错性,从而大幅度提高工作效率。

附图说明

图1为本发明的主要步骤流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合具体实施例对本发明的具体实施方式做详细的说明。

名词解释:

持续交付:(Continuous delivery,缩写为CD),是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以发布的状况。他的目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

gitlab:是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

gitlab-ci:即是gitlab continuous integration,意思是持续集成。用来管理各个项目的构建状态。

GitLab Runner:用来执行构建任务的。

Fastlane:Fastlane是一套使用Ruby写的自动化工具集,旨在简化Android和iOS的部署过程,自动化工作流。它可以简化一些乏味、单调、重复的工作,像截图、代码签名以及发布App。

打包APP:将代码编译输出为可安装的apk文件。

实施例1

如图1所示,本发明的APP自动化打包发布的方法技术方案如下:

一种实现iOS APP持续交付的方法,包括以下步骤:

步骤S1:先给本机环境安装GitLab Runner,在Mac终端先运行命令:curl-L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh |sudo bash,然后在Mac终端执行命令:sudo yum install gitlab-runner,进行安装。

步骤S2:然后给本地项目注册GitLab Runner,将启动的Runner和对应的远程gitlab项目上的GitLab CI绑定,在项目根目录中生成.gitlab-ci.yml文件,等待配置。注册具体操作如下:

(1)打开GitLab中的项目页面,在项目设置中找到runners,具体路径是Settings—CI/CD—Runners—右侧展开按钮—Setup a specific Runner manually;

(2)在终端运行gitlab-runner-register;

(3)输入CI URL (Specify the following URL during the Runner setup:后面对应的url),回车;

(4)输入Token (Use the following registration token during setup: 后面对应的token),回车;

(5)输入Runner的名字(不重要,可输入做标识),回车;

(6)是否输入tag标记,回车;(注:因为本实施例是以本机作为服务地址的,这里的tag千万别输入东西,要不然后面运行总是卡住,找不到对应服务器,默认到Docker上了,直接回车即可。)

(7)选择Runner的类型,输入Shell,回车。

步骤S3:通过fastlane脚本实现本地项目自动打包;在fastlane脚本中配置自动打包以及执行swift脚本命令,让其执行完fastlane的自动脚本打包后,再继续执行swift中的脚本;

步骤S4:通过swift脚本将fastlane所打的包或用户需要的文件进行上传到第三方平台,同时接入第三方通知系统,比如钉钉机器人等,上传完成后来通知相关人员;用户需要的文件可以为项目的版本文件,或者可以触发APP中检测版本更新功能,从而让老用户的APP进行更新提示操作;

步骤S5:对S2中的gitlab-ci.yml文件进行配置,让其执行S3中的fastlane脚本;在gitlab-ci.yml文件中配置如下:在指定的分支上进行tag操作时,触发fastlane自动打包操作;

步骤S6:用户给gitlab远端项目打指定的tag版本,从而自动触发步骤S3中的fastlane脚本和步骤S4中的swift脚本;注意,在这里用户可以同时给多个项目打多个对应的tag版本,从而实现批量持续交付的目的。打tag版本,用户可以使用可视化的SourceTree或者SVN进行打包,或者用命令行,或者直接在gitlab服务器上直接手动操作;

步骤S7:自动打包上传到第三方后,通过swift脚本将第三方平台的下载地址集成进钉钉机器人这种第三方通知系统,生成二维码并通知相关人员下载。

本发明一种实现iOS APP持续交付的方法,通过gitlab ci以及调用多脚本语言实现一体化自动打包,与传统的Xcode打包方法(通过Xcode先进行手动编译,然后手动打包并导出,再传到对外指定下载平台上)相比,本发明的打包方式采用系统配置为输入参数,全程自动化打包的方式,可以方便快速的进行打包,提高效率,减少出错率。

需要注意的是,本发明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

另外,上述具体实施例是示范性的,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号