一种Pod发布方法、存储介质、电子设备及系统技术方案

技术编号:21999626 阅读:30 留言:0更新日期:2019-08-31 05:14
本发明专利技术公开了一种Pod发布方法、存储介质、电子设备及系统,涉及软件开发领域,该方法包括在Jenkins工具中创建用于进行Pod发布的Jenkins任务;在创建的Jenkins任务中设置Jenkins参数,所述Jenkins参数用于设置待发布spec文件对应组件的组件名和版本号;添加Pod发布脚本至创建的Jenkins任务中,所述Pod发布脚本用于升级本地spec仓库以对待发布spec文件的本地有效性进行验证,并基于设置的版本号对待发布spec文件的版本号信息进行更新后将待发布spec文件推送到私有spec仓库中。本发明专利技术采用脚本方式,实现pod发布的自动化发布,提高开发人员开发效率。

A Pod Publishing Method, Storage Media, Electronic Equipment and System

【技术实现步骤摘要】
一种Pod发布方法、存储介质、电子设备及系统
本专利技术涉及软件开发领域,具体涉及一种Pod发布方法、存储介质、电子设备及系统。
技术介绍
在iOS软件的开发中,通常是将一些功能独立的模块封装成一个组件,然后编写对应的spec文件,spec文件是pod的描述文件,包含有作者、描述、类型、动态/静态库依赖等信息,cocoapods工具中将每个依赖包称为pod,cocoapods工具是基于ruby脚本语言开发的开源iOS依赖包管理工具;编写好的spec文件通过cocoapods工具发布到私有spec仓库,将组件的spec文件发布到私有spec仓库的过程就是pod的发布。通常使用cocoapods工具进行pod的发布的过程是:首先运行相关命令升级本地spec仓库,再运行相关命令进行pod的有效性检查,若组件工程较为复杂则pod的有效性检查步骤将极为耗时,待检查通过后对组件仓库运行gittag命令给组件仓库打tag,然后运行gitpush命令将组件变更推送到远程git仓库,最后运行podrepopush命令将组件对应的spec文件推送到私有spec仓库,若组件工程比较复杂,同样的此步骤将非常耗时。以上步骤手工操作一步一步进行,且需要等待各个步骤执行完毕后才能进行下一步工作,且当某一步出现错误,则需要重复进行相关操作,费时费力,极大地降低了软件开发效率。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种Pod发布方法,采用脚本方式,实现pod发布的自动化发布,提高开发人员开发效率。为达到以上目的,本专利技术采取的技术方案是,包括:在Jenkins工具中创建用于进行Pod发布的Jenkins任务;在创建的Jenkins任务中设置Jenkins参数,所述Jenkins参数用于设置待发布spec文件对应组件的组件名和版本号;添加Pod发布脚本至创建的Jenkins任务中,所述Pod发布脚本用于升级本地spec仓库以对待发布spec文件的本地有效性进行验证,并基于设置的版本号对待发布spec文件的版本号信息进行更新后将待发布spec文件推送到私有spec仓库中。在上述技术方案的基础上,组件的spec文件发布到私有spec仓库的过程为Pod发布;所述组件由iOS开发中多个功能独立模块封装而成。在上述技术方案的基础上,所述Jenkins参数包括SPEC_NAME参数和POD_VERSION参数;所述SPEC_NAME参数用于设置待发布spec文件对应组件的组件名,且所述SPEC_NAME参数为字符串类型,无默认参数值;所述POD_VERSION参数用于设置待发布spec文件对应组件的版本号,且所述POD_VERSION参数为字符串类型,默认参数值为-1。在上述技术方案的基础上,所述Pod发布脚本在升级本地spec仓库之前,执行Pod发布脚本以执行如下步骤:A:在创建的Jenkins任务中设置环境变量,基于设置的组件名拼接组件仓库的地址;B:基于拼接的组件仓库的地址,下载待发布spec文件对应组件的组件代码至Jenkins任务的工作空间目录下;C:检查设置的POD_VERSION参数的参数值是否为-1,若是则退出Pod发布脚本的执行,若否,则转到步骤D;D:基于下载的组件代码判断设置的版本号是否存在,若存在则退出Pod发布脚本的执行,若否,则转到步骤E;E:判断下载组件代码对应组件的spec文件是否存在,若不存在则退出Pod发布脚本的执行,若否,则进行本地spec仓库的升级。在上述技术方案的基础上,更新后的待发布spec文件的版本号为使用POD_VERSION参数设置的版本号;待发布spec文件的版本号变更信息提交至组件仓库后,对组件仓库打tag并将tag推送至远程组件仓库,将待发布spec文件推送到私有spec仓库中。本专利技术还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。本专利技术还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。本专利技术还提供一种Pod发布系统,包括:创建模块,其用于在Jenkins工具中创建用于进行Pod发布的Jenkins任务;设置模块,其用于在创建的Jenkins任务中设置Jenkins参数,所述Jenkins参数用于设置待发布spec文件对应组件的组件名和版本号;执行模块,其用于添加Pod发布脚本至创建的Jenkins任务中,所述Pod发布脚本用于升级本地spec仓库以对待发布spec文件的有效性进行验证,并基于设置的版本号对待发布spec文件的版本号信息进行更新后将待发布spec文件推送到私有spec仓库中。在上述技术方案的基础上,组件的spec文件发布到私有spec仓库的过程为Pod发布;所述组件由iOS开发中多个功能独立模块封装而成。在上述技术方案的基础上,所述Jenkins参数包括SPEC_NAME参数和POD_VERSION参数;所述SPEC_NAME参数用于设置待发布spec文件对应组件的组件名,且所述SPEC_NAME参数为字符串类型,无默认参数值;所述POD_VERSION参数用于设置待发布spec文件对应组件的版本号,且所述POD_VERSION参数为字符串类型,默认参数值为-1。与现有技术相比,本专利技术的优点在于:基于Jenkins工具,在Jenkins工具中创建Pod发布相关的Jenkins任务,然后采用Pod发布脚本的机制,将待发布spec文件的版本号信息进行更新后推送到私有spec仓库中,完成Pod发布的自动发布,无需人为进行干预,整个发布过程简单且自动,有效提升了开发人员对于软件的开发效率。附图说明图1为本专利技术实施例中一种Pod发布方法的流程图;图2为本专利技术实施例一种电子设备的结构示意图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术实施例提供一种Pod发布方法,基于Jenkins工具,用于实现对iOS软件的开发,Jenkins工具是基于java语言开发的一种持续集成工具,用于监控持续重复的工作,为一个开源软件项目,本专利技术实施例在基于Jenkins工具的基础上,实现Pod发布的自动高效完成。本专利技术实施例的Pod发布方法具体包括:S1:在Jenkins工具中创建用于进行Pod发布的Jenkins任务。对于Pod发布,组件的spec文件发布到私有spec仓库的过程即为Pod发布。组件由iOS开发中多个功能独立模块封装而成,现有技术中,对于iOS软件的开发,一般采用模块化的开发方式,在开发所使用到的模块中,包含有功能独立的模块。对于Jenkins任务的创建,具体为:S101:在Jenkins工具中选择新建项目;S102:选择“构建一个自由风格的软件项目”;S103:在任务标题栏输入Pod_Repo_Push;S104:点击创建,即创建了一个用于进行Pod发布的Jenkins任务,从而后续可以基于Jenkins工具进行Pod的发布。S2:在创建的Jenkins任务中设置Jenkins参数,Jenkins参数用于设置待发布spec文件对应组件的组件名和版本号。具体的,Jenkins参数包括SPEC_NAME参本文档来自技高网...

【技术保护点】
1.一种Pod发布方法,基于Jenkins工具,其特征在于,包括:在Jenkins工具中创建用于进行Pod发布的Jenkins任务;在创建的Jenkins任务中设置Jenkins参数,所述Jenkins参数用于设置待发布spec文件对应组件的组件名和版本号;添加Pod发布脚本至创建的Jenkins任务中,所述Pod发布脚本用于升级本地spec仓库以对待发布spec文件的本地有效性进行验证,并基于设置的版本号对待发布spec文件的版本号信息进行更新后将待发布spec文件推送到私有spec仓库中。

【技术特征摘要】
1.一种Pod发布方法,基于Jenkins工具,其特征在于,包括:在Jenkins工具中创建用于进行Pod发布的Jenkins任务;在创建的Jenkins任务中设置Jenkins参数,所述Jenkins参数用于设置待发布spec文件对应组件的组件名和版本号;添加Pod发布脚本至创建的Jenkins任务中,所述Pod发布脚本用于升级本地spec仓库以对待发布spec文件的本地有效性进行验证,并基于设置的版本号对待发布spec文件的版本号信息进行更新后将待发布spec文件推送到私有spec仓库中。2.如权利要求1所述的一种Pod发布方法,其特征在于:组件的spec文件发布到私有spec仓库的过程为Pod发布;所述组件由iOS开发中多个功能独立模块封装而成。3.如权利要求1所述的一种Pod发布方法,其特征在于:所述Jenkins参数包括SPEC_NAME参数和POD_VERSION参数;所述SPEC_NAME参数用于设置待发布spec文件对应组件的组件名,且所述SPEC_NAME参数为字符串类型,无默认参数值;所述POD_VERSION参数用于设置待发布spec文件对应组件的版本号,且所述POD_VERSION参数为字符串类型,默认参数值为-1。4.如权利要求3所述的一种Pod发布方法,其特征在于:所述Pod发布脚本在升级本地spec仓库之前,执行Pod发布脚本以执行如下步骤:A:在创建的Jenkins任务中设置环境变量,基于设置的组件名拼接组件仓库的地址;B:基于拼接的组件仓库的地址,下载待发布spec文件对应组件的组件代码至Jenkins任务的工作空间目录下;C:检查设置的POD_VERSION参数的参数值是否为-1,若是则退出Pod发布脚本的执行,若否,则转到步骤D;D:基于下载的组件代码判断设置的版本号是否存在,若存在则退出Pod发布脚本的执行,若否,则转到步骤E;E:判断下载组件代码对应组件的spec文件是否存在,若不存在则退出Pod发布脚本的...

【专利技术属性】
技术研发人员:黄露洋张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1