一种基于shell脚本的IOS端项目自动化打包方法技术

技术编号:35840663 阅读:10 留言:0更新日期:2022-12-03 14:13
本发明专利技术提出了一种基于shell脚本的IOS端项目自动化打包方法,包括配置脚本可发布的SDK、APP项目的相关参数;拉取脚本最新配置;配置开发仓库的本地路径属性值、发布仓库的本地路径属性值以及发布SDK的版本号属性值;通过shell脚本选择发布内容;通过管理文件信息达到控制shell脚本完成SDK项目和APP项目的编译、打包以及发布。本发明专利技术通过改写管理文件信息达到控制shell脚本的目的,其中shell脚本可以固定SDK和APP打包发布的操作步骤,简化操作流程,提高了效率,也降低了发布工作的门槛。也降低了发布工作的门槛。也降低了发布工作的门槛。

【技术实现步骤摘要】
一种基于shell脚本的IOS端项目自动化打包方法


[0001]本专利技术涉及计算机软件
,具体涉及一种基于shell脚本的IOS端项目自动化打包方法。

技术介绍

[0002]IOS端的项目通过多个git开发仓库的不同分支来管理不同SDK、APP项目的代码,其中当涉及SDK和APP发布时,开发人员需要切换不同分支并根据项目流程进行不同的操作,其中较为明显的缺点如下:(1)需要开发人员了解不同SDK、APP项目的项目流程和对应分支;(2)打包操作流程复杂,需实时确认流程步骤是否有误。

技术实现思路

[0003]针对现有技术的不足,本专利技术提出一种基于shell脚本的IOS端项目自动化打包方法,解决了SDK和APP发布时,开发人员需了解不同项目流程和对应分支,打包流程复杂导致发布效率低的缺陷。
[0004]本专利技术的技术方案是这样实现的:一种基于shell脚本的IOS端项目自动化打包方法,包括如下步骤:步骤S1:配置脚本可发布的SDK、APP项目的相关参数,所述相关参数包括SDK名称、APP名称、APP对应的分支名称、发布SKD数组属性值以及发布APP数组属性值,其中所有相关参数都记录于plist文件中;步骤S2:完成配置后通过git push将配置好的SDK、APP项目推送至脚本git仓库,随后通过git pull拉取脚本最新配置;步骤S3:在执行脚本前,配置脚本plist文件中开发仓库的本地路径属性值、发布仓库的本地路径属性值以及发布SDK的版本号属性值,以达到脚本可操作本地仓库的目的;步骤S4:通过shell脚本指令read
ꢀ‑
p选择执行发布内容的流程,当选择发布内容为SDK时,继续执行步骤S5;当选择发布内容为APP时,跳转执行步骤S6;步骤S5:当发布内容为SDK时,shell脚本读取并确认开发仓库和发布仓库的本地路径属性值,确认本地路径属性值均不为空后,通过读取plist文件中发布SDK数组属性值获取对应的每个SDK名称,通过每个SDK名称读取plist文件中对应发布SDK的版本号,根据发布SDK的版本号以及shell脚本对开发仓库进行编译得到SDK,并通过shell脚本将SDK复制到发布仓库实现SDK的打包发布;步骤S6:当发布内容为APP时,shell脚本读取并确认开发仓库和发布仓库的本地路径属性值,确认本地路径属性值均不为空后,通过读取plist文件中发布APP数组属性值获得APP对应的分支名称,根据分支名称拉取开发仓库内对应的分支代码,通过shell脚本对分支代码进行编译,完成APP的打包发布。
[0005]更进一步的,步骤S5和步骤S6中:通过/usr/libexec/PlistBuddy
ꢀ‑
c读取plist文
件中开发仓库的本地路径属性值、发布仓库的本地路径属性值。
[0006]更进一步的,步骤S5和步骤S6中:读取plist文件后,确认开发仓库的本地路径属性值或发布仓库的本地路径属性值为空时,shell脚本通过指令echo提示开发人员未配置路径属性值,并执行指令exit退出脚本。
[0007]更进一步的,步骤S5中:通过shell指令xcodebuild对开发仓库进行编译获得SDK。
[0008]更进一步的,步骤S5中,SDK复制到发布仓库前,shell脚本通过指令分别读取开发仓库和发布仓库文件的依赖配置,获得依赖关键词和依赖版本值,再通过shell指令完成发布仓库与开发仓库中文件的依赖替换,实现自动化配置依赖。
[0009]更进一步的,步骤6中,在拉取分支代码前,通过shell脚本判断开发仓库是否已存在对应分支,若不存在对应分支,则检查开发仓库是否拉取对应分支,若未拉取对应分支,则通过指令git checkout
ꢀ‑
b 切换至对应分支。
[0010]更进一步的,步骤6中,在APP打包发布前,开发人员需要根据不同的APP打包配置上传对应打包配置plist文件至发布仓库。
[0011]与现有技术相比,本专利技术具有如下有益效果:本专利技术公开一种基于shell脚本的IOS端项目自动化打包方法,通过改写管理文件信息达到控制shell脚本的目的,其中shell脚本可以固定SDK和APP打包发布的操作步骤,简化操作流程,减少操作者因流程不熟悉和步骤错误导致效率低下的情况出现,操作时,开发人员无需了解不同项目流程和对应分支,只需要修改发布对应项目所在的分支名称、相关参数、本地路径属性以及版本号属性即可操作脚本打包发布SDK和APP,提高了效率,也降低了发布工作的门槛。
附图说明
[0012]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1示出了基于shell脚本的IOS端项目自动化打包方法的流程图。
具体实施方式
[0014]为了能够更清楚地理解本公开实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本公开实施例进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0015]在下面的描述中阐述了很多具体细节以便于充分理解本公开实施例,但是,本公开实施例还可以采用其他不同于在此描述的方式来实施,因此,本公开实施例的保护范围并不受下面公开的具体实施例的限制。
[0016]首先针对存在的相关名词进行描述或定义,其中:Shell:操作系统命令解释器,通过接受用户输入的shell指令启动、暂停、终止程序的运行或对计算机进行控制;Shell脚本:由shell指令组成的文件;IOS:iphone的操作系统;
SDK:软件开发工具包(Software Development Kit ),软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合;APP:手机软件(Application),主要指安装在智能手机上的软件,完善原始系统的不足与个性化;Git:一种开源的分布式版本控制系统,无需服务器端软件支撑即可简化源代码的发布;分支:将修改记录的整体流程分叉保存,不同分支可以提交不同的修改;Plist文件:属性表文件,用于存储用户设置,也可以用于存储文件捆绑信息;开发仓库:指用于开发人员内部进行软件开发的仓库,包含项目的源代码,是非公开的;发布仓库:指开发人员对外界发布SDK和APP的仓库,发布仓库内的文件为开发仓库编译生成的产物。
[0017]如图1所示,根据本专利技术的具体实施方式,本专利技术提出了基于shell脚本的IOS端项目自动化打包方法,包括以下步骤:步骤S1:配置脚本可发布的SDK、APP项目的相关参数,所述相关参数包括SDK名称、APP名称、APP对应的分支名称、发布SKD数组属性值以及发布APP数组属性值,其中所有相关参数都记录于pl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于shell脚本的IOS端项目自动化打包方法,其特征在于,包括如下步骤:步骤S1:配置脚本可发布的SDK、APP项目的相关参数,所述相关参数包括SDK名称、APP名称、APP对应的分支名称、发布SKD数组属性值以及发布APP数组属性值,其中所有相关参数都记录于plist文件中;步骤S2:完成配置后通过git push将配置好的SDK、APP项目推送至脚本git仓库,随后通过git pull拉取脚本最新配置;步骤S3:在执行脚本前,配置脚本plist文件中开发仓库的本地路径属性值、发布仓库的本地路径属性值以及发布SDK的版本号属性值,以达到脚本可操作本地仓库的目的;步骤S4:通过shell脚本指令read
ꢀ‑
p选择执行发布内容的流程,当选择发布内容为SDK时,继续执行步骤S5;当选择发布内容为APP时,跳转执行步骤S6;步骤S5:当发布内容为SDK时,shell脚本读取并确认开发仓库和发布仓库的本地路径属性值,确认本地路径属性值均不为空后,通过读取plist文件中发布SDK数组属性值获取对应的每个SDK名称,通过每个SDK名称读取plist文件中对应发布SDK的版本号,根据发布SDK的版本号以及shell脚本对开发仓库进行编译得到SDK,并通过shell脚本将SDK复制到发布仓库实现SDK的打包发布;步骤S6:当发布内容为APP时,shell脚本读取并确认开发仓库和发布仓库的本地路径属性值,确认本地路径属性值均不为空后,通过读取plist文件中发布APP数组属性值获得APP对应的分支名称,根据分支名称拉取开发仓库内对应的分支代码,通过shell脚本对分支代码进行编译,完成APP的打包发布。2.根据权利要求1所述的基于shell脚本的I...

【专利技术属性】
技术研发人员:杜晗白剑黄海亮梁瑛玮张海林鲁和平李长杰陈焕然李乐王浩洪行健冷冬丁一
申请(专利权)人:易方信息科技股份有限公司
类型:发明
国别省市:

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

1