CN110780854B - 基于ios系统下的app自动化集成平台系统及方法 - Google Patents

基于ios系统下的app自动化集成平台系统及方法 Download PDF

Info

Publication number
CN110780854B
CN110780854B CN201910928405.4A CN201910928405A CN110780854B CN 110780854 B CN110780854 B CN 110780854B CN 201910928405 A CN201910928405 A CN 201910928405A CN 110780854 B CN110780854 B CN 110780854B
Authority
CN
China
Prior art keywords
app
server
configuration table
variable
temporary variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910928405.4A
Other languages
English (en)
Other versions
CN110780854A (zh
Inventor
李�赫
刘学森
李亚飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongcheng Network Technology Co Ltd
Original Assignee
Tongcheng Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongcheng Network Technology Co Ltd filed Critical Tongcheng Network Technology Co Ltd
Priority to CN201910928405.4A priority Critical patent/CN110780854B/zh
Publication of CN110780854A publication Critical patent/CN110780854A/zh
Application granted granted Critical
Publication of CN110780854B publication Critical patent/CN110780854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及计算机开发技术领域,公开了一种基于IOS系统下的APP自动化集成平台系统及方法,方法包括:通过podfile加载RubyGems插件来读取json配置表,选择项目APP和代码分支,修改相应组件描述;传输参数到服务端;服务端调起Jenkins,通过调度系统自动将各任务分配到不同的集成服务器进行clone项目APP仓库;根据服务端传递过来的参数通过脚本自动修改对应APP的配置表;git自动化操作进行上传;所有操作结果回调给服务端,平台和邮件同时展示操作结果的反馈信息。本技术方案针对多APP实现了自动化的选择和集成相应的组件,避免了代码冲突,省去了繁琐的手动操作,极大的提高开发效率。

Description

基于IOS系统下的APP自动化集成平台系统及方法
技术领域
本发明涉及计算机开发技术领域,尤其涉及一种基于IOS系统下的APP自动化集成平台系统及方法。
背景技术
随着IOS项目开发的推进,新的业务不断引入,团队规模增加,这导致代码量越来越庞大,所有的代码集中在一个项目中,局部的代码变动往往导致需要整个项目的完整编译,代码提交冲突几率增大,相应的代码管控复杂,团队协作困难,模块之间代码耦合性也导致了测试效率低,不能对单个项目模块进行单独测试,代码质量难以检查检测,对应的项目编译时间也越来越长,导致编译速度慢,源码和二进制调试困难,构建打包速度慢。开发流程全部手动且非常繁琐复杂,项目的开发、发布、测试、上线成本不断增加,维护困难,因此急需要一种好的组件化平台管理方案和构建系统方法来解决上述问题。
介于以上提出的所有的代码集中在一个项目中,局部的代码变动往往导致需要整个项目的完整编译,代码提交冲突几率增大的问题,申请公布号为CN107729061A的中国发明专利公开了一种IOS平台下工程项目的组件化构建方法,包括组件划分,构建路由中间件解耦组件,建立CocoaPods私有仓库,主工程使用组件,其中组件的划分包括基础组件、业务组件和路由中间件组件,业务组件依赖于基础组件,组件之间通过路由中间件组件进行相互通信调用。路由中间件组件通过Objective-C的Runtime机制实现,能够动态的检查和发现相应的组件。构建好的组件采用CocoaPods私有仓库的方式托管于bitbucket上面,最终主工程通过CocoaPods引入对应的组件。
但当以组件化的形式开发APP时,在每次将组件集成到APP当中时均需要手动去修改podfile组织文件,当APP数量和组件数量特别多的情况下,其手动操作非常繁琐且不方便管理,容易出现冲突,极大的阻碍开发生产效率。
发明内容
本发明的第一目的在于提供一种基于IOS系统下的APP自动化集成平台系统,针对多APP实现自动化的选择和集成相应的组件,避免了代码冲突,省去了繁琐的手动操作,极大的提高了开发效率。
本发明提供的基于IOS系统下的APP自动化集成平台系统,包括:
插件Ⅰ,以替换CocoaPods组件管理的工程里的podfile数据,实现配置表的管理;
配置表读取单元,基于平台选择的APP和代码分支,修改页面显示的组件配置表信息,组装配置表信息发送到服务端;
配置表修改替换单元,基于输入服务端的参数,通过 Jenkins 的相关脚本clone项目APP仓库,并对APP仓库的文件进行配置表文件的替换修改;
结果反馈单元,用于反馈结果至服务端,接着服务端将结果反馈到平台页面展示。
在一些实施方式中,所述插件包括:
数据解析单元,对转化为hash对象的json格式的文件进行循环遍历解析元数据;
命令变量组装单元,用于组装遍历时出现key=podname时标记的第一临时变量以及遍历时出现value=tagname时,用前面标记的第一临时变量组装成的第二临时变量,以形成第三临时变量;
命令变量集合生成单元,基于第三临时变量形成新的数组变量;
命令执行单元,循环遍历数组变量生成单元中生成的数组变量,执行字符串命令。
本发明第二目的在于提供一种基于IOS系统下的APP自动化集成方法,其实现了多项目管理,同时优化了APP集成策略,以json配置表的形式集成组件到APP,开发插件Ⅰ来实现管理配置表自动化平台集成操作,针对多APP实现了以一键操作来自动化的选择和集成相应的组件。
本发明提供的基于IOS系统下的APP自动化集成方法,包括以下步骤:
S1:开发插件Ⅰ,以替换工程podfile数据,从而更加方便的管理和组织数据;
S2:将插件Ⅰ放在指定地址的服务器上;
S3:通过终端命令进行RubyGems插件安装;
S4:平台建设。
在一些实施方式中,S1中插件Ⅰ的运行流程包括:
S11:将json格式的文件转化为hash对象;
S12:循环遍历整个hash对象,
当遍历的时候出现key=podname时,标记第一临时变量;
当遍历的时候出现value=tagname时,用前面标记的第一临时变量来组装第二临时变量;
S13:组装第一临时变量及第二临时变量,形成第三临时变量;
S14:将S13组装的第三临时变量加入至数组变量中,形成新的数组变量;
S15:循环遍历S14中生成的新的数组变量,然后执行字符串命令;
S16:当通过CocoaPods运行工程时,终端直接运行
pod update或pod install命令即可实现一键操作执行的目的。
在一些实施方式中,S4包括:
S41:通过CocoaPods组件管理的工程里的podfile加载RubyGems插件来读取json配置表;
S42:选择项目APP,选择APP对应的不同分支,通过平台点击组件,进行组件相应版本号的修改、组件的新增和组件的删除;
S43:将S42对组件进行的操作结果传输到服务端;
S44:服务端重新组装S42的操作结果,然后调起Jenkins,调度系统将执行Jenkins服务的操作根据机器的空闲程度分派到不同的集成服务器,进行clone项目APP仓库的一些操作;
S45:根据服务端传递过来的参数通过脚本自动修改对应APP的配置表:
S46:脚本对APP仓库的文件进行配置表文件的替换修改;
S47:脚本进行git自动化操作进行上传;
S48:将以上操作结果回调给服务端。
S49:发布成功。
在一些实施方式中,S47中,脚本进行git自动化操作进行上传包括tag,commit,push。
在一些实施方式中,S49:服务端做完所有存储数据等操作完成之后邮件反馈出来,最后平台显示发布成功状态。
综上所述,与现有技术相比,本发明提供的基于IOS系统下的APP自动化集成平台系统及方法有益技术效果为:
1、通过json配置表的形式集成组件到APP,开发插件Ⅰ来实现管理配置表自动化平台集成操作,实现了多项目管理,同时优化了APP集成策略,以针对多APP实现了以一键操作来自动化的选择和集成相应的组件;
2、通过针对多APP实现自动化的选择和集成相应的组件,避免了代码冲突,省去了繁琐的手动操作,极大的提高开发效率。
附图说明
图1为本发明提供的基于IOS系统下的APP自动化集成平台系统的结构框图;
图2为本发明提供的基于IOS系统下的APP自动化集成平台系统中RubyGems插件的结构框图;
图3为本发明提供的基于IOS系统下的APP自动化集成方法的流程图;
图4为本发明提供的基于IOS系统下的APP自动化集成方法中RubyGems插件的运行流程图。
图中:1、插件Ⅰ;11、数据解析单元;12、 命令变量组装单元;13、命令变量集合生成单元;14、命令执行单元;2、配置表读取单元;3、配置表修改替换单元;4、 结果反馈单元。
具体实施方式
以下结合附图及具体实施方式对本发明作进一步详细说明。
本发明提供了基于IOS系统下的APP自动化集成平台系统,其以CocoaPods组件管理的工程为基础,如图1所示,包括:
插件Ⅰ1(即RubyGems插件),以替换CocoaPods组件管理的工程里的podfile数据,从而更加方便和简单的管理和组织数据,如图2所示,具体包括:
数据解析单元11,对转化为hash对象的json格式的文件进行循环遍历解析元数据;
命令变量组装单元12,用于组装遍历时出现key=podname时标记的第一临时变量以及遍历时出现value=tagname时,用前面标记的第一临时变量组装成的第二临时变量,以形成第三临时变量;
命令变量集合生成单元13,基于第三临时变量形成新的数组变量;
命令执行单元14,循环遍历数组变量生成单元13中生成的数组变量,执行字符串命令。
如图1所示,本发明提供的基于IOS系统下的APP自动化集成平台系统还包括:
配置表读取单元2,基于平台选择的APP和代码分支,修改页面显示的组件配置表信息,组装配置表信息发送到服务端;
配置表修改替换单元3,基于输入服务端的参数,通过 Jenkins 的相关脚本clone项目APP仓库,并对APP仓库的文件进行配置表文件的替换修改;
结果反馈单元4,用于反馈结果至服务端,接着服务端将结果反馈到平台页面展示。
本发明还提供了基于IOS系统下的APP自动化集成方法,如图3所示,包括以下步骤:
S1:开发插件Ⅰ(即RubyGems插件),以替换工程podfile数据,从而更加方便的管理和组织数据;
具体的,如图4所示,RubyGems插件的运行流程包括:
S11:将json格式的文件转化为hash对象;
S12:循环遍历整个hash对象,
当遍历的时候出现key=podname时,标记第一临时变量podName="podname";
当遍历的时候出现value=tagname时,用前面标记的第一临时变量来组装第二临时变量:tagName="pod"+""+tagname+"";
S13:组装S12中的第一临时变量及第二临时变量,形成第三临时变量为name=tagName+","+podName;
S14:将S13组装的第三临时变量加入至数组变量allPodsNames中,形成新的数组变量;
S15:循环遍历S14中生成的新的数组变量,然后通过函数执行字符串命令;
S16:当通过CocoaPods运行工程时,终端直接运行
pod update或pod install命令即可实现一键加载配置表数据的目的。
S2:将RubyGems插件放在指定地址(XX.XXX.XX.XX)的服务器上;
S3:安装RubyGems插件,
每个开发人员机器通过终端命令gem install XXGem --source http://XX.XXX.XX.XX/gemsource/进行RubyGems插件安装;
S4:平台建设,包括:
S41:首先 通过CocoaPods组件管理的工程里的podfile加载RubyGems插件来读取json配置表;
S42:选择项目APP,选择APP对应的不同分支,通过平台点击组件,进行组件相应版本号的修改、组件的新增和组件的删除;
S43:将S42对组件进行的操作结果传输到服务端;
S44:服务端重新组装S42的操作结果,然后调起Jenkins,调度系统将执行Jenkins服务的操作根据机器的空闲程度分派到不同的集成服务器,进行clone项目APP仓库的一些操作;
S45:根据服务端传递过来的参数通过脚本自动修改对应APP的配置表:
S46:脚本对APP仓库的文件进行配置表文件的替换修改;
S47:脚本进行git自动化操作进行上传,包括tag,commit,push;
S48:当所有构建步骤完成之后,所有操作结果回调给服务端。
S49:服务端做完所有存数据等操作完成之后邮件反馈出来,最后平台状态显示发布成功。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

Claims (4)

1.基于IOS系统下的APP自动化集成方法,其特征在于,包括以下步骤:S1:开发插件Ⅰ,以替换工程podfile数据,从而更加方便的管理和组织数据;
其中,S1中插件Ⅰ的运行流程包括:S11:将json格式的文件转化为hash对象;S12:循环遍历整个hash对象,当遍历的时候出现key=podname时,标记第一临时变量;当遍历的时候出现value=tagname时,用前面标记的第一临时变量来组装第二临时变量;S13:组装第一临时变量及第二临时变量,形成第三临时变量;S14:将S13组装的第三临时变量加入至数组变量中,形成新的数组变量;S15:循环遍历S14中生成的新的数组变量,然后执行字符串命令;S16:当通过CocoaPods运行工程时,终端直接运行pod update或pod install命令即可实现一键操作执行的目的;S2:将插件Ⅰ放在指定地址的服务器上;S3:通过终端命令进行RubyGems插件安装;S4:平台建设,包括:S41:通过CocoaPods组件管理的工程里的podfile加载RubyGems插件来读取json配置表;S42:选择项目APP,选择APP对应的不同分支,通过平台点击组件,进行组件相应版本号的修改、组件的新增和组件的删除;S43:将S42对组件进行的操作结果传输到服务端;S44:服务端重新组装S42的操作结果,然后调起Jenkins,调度系统将执行Jenkins服务的操作根据机器的空闲程度分派到不同的集成服务器,进行clone项目APP仓库的一些操作;S45:根据服务端传递过来的参数通过脚本自动修改对应APP的配置表:S46:脚本对APP仓库的文件进行配置表文件的替换修改;S47:脚本进行git自动化操作进行上传;S48:将以上操作结果回调给服务端;S49:发布成功。
2.根据权利要求1所述的基于IOS系统下的APP自动化集成方法,其特征在于,S47中,脚本进行git自动化操作进行上传包括tag,commit,push。
3.根据权利要求2所述的基于IOS系统下的APP自动化集成方法,其特征在于,S49:服务端所有存储数据操作完成之后邮件反馈出来,最后平台显示发布成功状态。
4.基于IOS系统下的APP自动化集成平台系统,其特征在于,包括:插件Ⅰ(1),以替换CocoaPods组件管理的工程里的podfile数据,实现配置表的管理;配置表读取单元(2),基于平台选择的APP和代码分支,修改页面显示的组件配置表信息,组装配置表信息发送到服务端;配置表修改替换单元(3),基于输入服务端的参数,通过 Jenkins 的相关脚本clone项目APP仓库,并对APP仓库的文件进行配置表文件的替换修改;结果反馈单元(4),用于反馈结果至服务端,接着服务端将结果反馈到平台页面展示;
其中,所述插件Ⅰ(1)包括:数据解析单元(11),对转化为hash对象的json格式的文件进行循环遍历解析元数据;命令变量组装单元(12),用于组装遍历时出现key=podname时标记的第一临时变量以及遍历时出现value=tagname时,用前面标记的第一临时变量组装成的第二临时变量,以形成第三临时变量;命令变量集合生成单元(13),基于第三临时变量形成新的数组变量;命令执行单元(14),循环遍历数组变量生成单元(13)中生成的数组变量,执行字符串命令。
CN201910928405.4A 2019-09-28 2019-09-28 基于ios系统下的app自动化集成平台系统及方法 Active CN110780854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910928405.4A CN110780854B (zh) 2019-09-28 2019-09-28 基于ios系统下的app自动化集成平台系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910928405.4A CN110780854B (zh) 2019-09-28 2019-09-28 基于ios系统下的app自动化集成平台系统及方法

Publications (2)

Publication Number Publication Date
CN110780854A CN110780854A (zh) 2020-02-11
CN110780854B true CN110780854B (zh) 2023-08-08

Family

ID=69384791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910928405.4A Active CN110780854B (zh) 2019-09-28 2019-09-28 基于ios系统下的app自动化集成平台系统及方法

Country Status (1)

Country Link
CN (1) CN110780854B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721824B (zh) * 2021-08-10 2024-05-03 深圳市一博科技股份有限公司 一种cr5000平台一键设置库路径的方法
CN114416218B (zh) * 2021-12-31 2022-11-01 北京五八信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035783A (zh) * 2014-06-27 2014-09-10 北京金和软件股份有限公司 一种应用程序中适配第三方网页的平台集成方法和系统
CN104102489A (zh) * 2014-07-24 2014-10-15 深圳市神州通在线科技有限公司 一种第三方数据库app构建系统及构建方法
US20160179850A1 (en) * 2009-06-11 2016-06-23 Talari Networks Incorporated Methods and Apparatus for Providing Adaptive Private Network Database Schema Migration and Management Processes
CN107608663A (zh) * 2017-09-27 2018-01-19 北京蜂语网络科技有限公司 一种移动应用插件及移动应用的开发方法及装置
CN108073390A (zh) * 2016-11-08 2018-05-25 北京京东尚科信息技术有限公司 统一管理多个工程中配置文件的方法、装置及系统
CN108897572A (zh) * 2018-07-19 2018-11-27 北京理工大学 一种基于变量关联树的复杂类型重构方法
CN110262809A (zh) * 2019-05-29 2019-09-20 济南大学 基于持续集成和虚拟化容器的校园应用发布方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160179850A1 (en) * 2009-06-11 2016-06-23 Talari Networks Incorporated Methods and Apparatus for Providing Adaptive Private Network Database Schema Migration and Management Processes
CN104035783A (zh) * 2014-06-27 2014-09-10 北京金和软件股份有限公司 一种应用程序中适配第三方网页的平台集成方法和系统
CN104102489A (zh) * 2014-07-24 2014-10-15 深圳市神州通在线科技有限公司 一种第三方数据库app构建系统及构建方法
CN108073390A (zh) * 2016-11-08 2018-05-25 北京京东尚科信息技术有限公司 统一管理多个工程中配置文件的方法、装置及系统
CN107608663A (zh) * 2017-09-27 2018-01-19 北京蜂语网络科技有限公司 一种移动应用插件及移动应用的开发方法及装置
CN108897572A (zh) * 2018-07-19 2018-11-27 北京理工大学 一种基于变量关联树的复杂类型重构方法
CN110262809A (zh) * 2019-05-29 2019-09-20 济南大学 基于持续集成和虚拟化容器的校园应用发布方法及系统

Also Published As

Publication number Publication date
CN110780854A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN107515826B (zh) 测试用例精准推荐方法、装置、系统、设备及存储介质
CN112882700B (zh) iOS应用程序构建方法及装置、电子设备及存储介质
CN110795078B (zh) 基于ios系统下的app工程运作系统的架构方法
CN112506807B (zh) 服务于多系统的接口自动化测试系统
CN111459539B (zh) 基于镜像分层的持续集成流水线运行方法及装置
CN110780854B (zh) 基于ios系统下的app自动化集成平台系统及方法
US11385898B2 (en) Task orchestration method for data processing, orchestrator, device and readable storage medium
CN107885521A (zh) 软件工程项目自动生成/更新方法、装置及系统
CN101901267A (zh) 配置文件管理的方法及装置
CN115454869A (zh) 界面自动化测试方法、装置、设备及存储介质
CN104598382B (zh) 一种测试控制方法和装置
CN116149747A (zh) 接口编排方法、装置、电子设备和计算机可读存储介质
CN112306887A (zh) 程序测试分发方法及其相应的装置、设备、介质
CN115686634A (zh) 一种测发控流程指令的处理方法、装置、终端及存储介质
CN114090019A (zh) 一种基于软件集成的代码构建、扫描及存储平台
CN112130867B (zh) 一种研发测试一体化系统
CN117762865A (zh) 大数据平台的数据入湖方法及系统
CN110752964B (zh) 一种网络设备的测试方法及装置
CN112506793A (zh) 嵌入式软件单元测试方法、系统、可读介质及电子设备
CN116400950A (zh) 一种基于版本控制的DevOps元流水线系统
CN113220561A (zh) 一种测试用例管理方法、装置、设备及介质
CN113110872B (zh) 一种Android自动化配置构建平台及操作方法
CN102387137A (zh) 多个网络设备智能操作逻辑的实现方法和系统
CN113377346B (zh) 集成环境搭建方法、装置、电子设备及存储介质
CN109344069A (zh) 一种软件自动化测试的协同办公方法及协同办公平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant