CN107632829A - A kind of App automation continuous integration systems and method based under iOS system - Google Patents

A kind of App automation continuous integration systems and method based under iOS system Download PDF

Info

Publication number
CN107632829A
CN107632829A CN201710657531.1A CN201710657531A CN107632829A CN 107632829 A CN107632829 A CN 107632829A CN 201710657531 A CN201710657531 A CN 201710657531A CN 107632829 A CN107632829 A CN 107632829A
Authority
CN
China
Prior art keywords
app
server
certificate
test
git
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.)
Pending
Application number
CN201710657531.1A
Other languages
Chinese (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.)
BEIJING XINHUA RUIDE ELECTRONIC READING TECHNOLOGY Co Ltd
Original Assignee
BEIJING XINHUA RUIDE ELECTRONIC READING 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 BEIJING XINHUA RUIDE ELECTRONIC READING TECHNOLOGY Co Ltd filed Critical BEIJING XINHUA RUIDE ELECTRONIC READING TECHNOLOGY Co Ltd
Priority to CN201710657531.1A priority Critical patent/CN107632829A/en
Publication of CN107632829A publication Critical patent/CN107632829A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a kind of App automation continuous integration systems and method based under iOS system, including MAC clients, certificate module, assembly module, Git modules, collector, resource dissemination module and test module, pass through certificate, component and component version, biography source code needed for the upload of Mac clients;The initiation compiling instruction from Mac clients to compiler server, source code simultaneously parses lock files needed for compiler server from Git servers download, certificate, component needed for download, performs packing after being compiled into ipa program bags and is uploaded to Distributor;Distributor performs distribution App to test server by the instruction of Mac clients, and/or according to the App different upload AppStore of purposes and/or download;Test server sends implementation of test cases to iOS cell-phone customer terminals and/or iOS simulators, and generates test report and feed back to developer.The present invention can have soon found that compiling problem by the continuous integrating APP in units of day, so as to reduce the construction cycle, iteratively faster version.

Description

A kind of App automation continuous integration systems and method based under iOS system
Technical field
The present invention relates to APP exploitations, integrated, maintenance, upgrade technique field, particularly a kind of App based under iOS system Automate continuous integration system and method.
Background technology
It is well known that it is king that Consumer's Experience has been arrived in APP competition now, quality is the upper white-hot stage, user Be all very fastidious.If the not at all easy huge sum of money of having pounded of the popularization team of a company has promoted an APP, not at all easy to have Some users, move back bug, gently then because the bug on primary line causes batch of user to occur sudden strain of a muscle one after another in use, it is likely that It is all useless to promote the money pounded early stage, it is heavy then, public praise is bad, following also can not lift customer volume.This just needs APP continuous Iteration version is updated, but APP each version starts that the construction cycle can have been estimated, but always prolong because of this or that Phase.Include some objective factors among these.Because product line increases, iteration speed is more and more faster, the pressure come to calibration tape Also it is increasing.If test is all tested again after exploitation exploitation completely is completed, that will influence a very long time, this When slow project rhythm will seriously be dragged due to integrated evening;Consumed very much in addition, APP packing is one for developer When, and without the work of very big technology content.If more than developer one, the probability of the code conflicts mutually changed is bigger, Plus there is no a producing line administrative mechanism, the code quality of code storage it is difficult to ensure that, this just needs to take a moment to solve to conflict, Solution be over conflict also need to oneself manually pack, if this when certificate again it is not right, delay long time again.
In order to ensure App Persisting exploitation and maintenance, it would be desirable to many independent services, in particularly being developed to iOS Complicated bundle ID, certificate file, Provisioning Profiles, push certificate complex relationship maintenance, development group The release maintenance of part, source code safeguard that source code and the interrelational form for stablizing component, these are required for independent server to go to manage. After all App resources are ready to, it would be desirable to which compiler server goes to compile out the ipa files of our needs, concurrently divides To test server, either interaction to client or uploads AppStore, and these just need to use our compiling service and automatic Change testing service.
It would therefore be highly desirable to develop a kind of App automation continuous integration systems and method based under iOS system.
The content of the invention
The invention aims to solve the deficiency of prior art problem, there is provided a kind of automatic based on the App under iOS system Change continuous integration system and method.
To reach above-mentioned purpose, the present invention is implemented according to following technical scheme:
A kind of App based under iOS system automates continuous integration system, including MAC clients, certificate module, assembly module, Git modules, collector, resource dissemination module and test module, wherein:
Mac clients, instruction is compiled with downloadable authentication, component, source code, upload test case and initiation for uploading;
Certificate module, including certificate Resource Server, for managing the certificate of Mac clients upload, and it is supplied to collector It is compiled;
Assembly module, including component server, for managing the component and version of the upload of Mac clients, and it is supplied to compiling mould Block is compiled;
Git modules, including Git servers, for managing the source code of Mac clients upload, and it is supplied to collector to carry out Compiling;
Collector, including compiler server, for source code, component, certificate to be compiled, and perform and be packaged into ipa journeys Sequence bag is simultaneously uploaded to resource dissemination module;
Resource dissemination module, including Distributor, for performing distribution App to test module by the instructions of Mac clients, And/or according to the App different upload AppStore of purposes and/or download;
Test module, including test server, test use is performed for being sent to iOS cell-phone customer terminals and/or iOS simulators Example, and generate test report and feed back to developer.
Wherein, the source code include the lock files of references component, Mac clients and compiler server pass through lock text Part goes to download required component.
Continuous integration system is automated based on a kind of above-mentioned App based under iOS system, present invention also offers a kind of base App automation continuous integrating methods under iOS system, are comprised the following steps that:
S1, by Mac clients upload needed for certificate file to certificate Resource Server, component arrives with component version needed for upload Component server, then upload source code and be managed to Git servers, source code with Git servers, and embedded lock files;
S2, compiling instruction, source generation needed for compiler server from Git servers download are initiated from Mac clients to compiler server Code simultaneously parses lock files, and source code is integrated into from component server securing component, then from needed for the download of certificate Resource Server Certificate, compiler server perform packing after different ipa program bags are compiled according to the distribution purposes of certificate and are uploaded to distribution clothes Business device;
S3, Distributor perform distribution App to test server by the instruction of Mac clients, and/or the use according to App Way is different to upload AppStore and/or download;
S4, test server send implementation of test cases to iOS cell-phone customer terminals and/or iOS simulators, and generate test report Feed back to developer.
Wherein, Git servers mainly carry out version management using Git in the step S1, and Mac clients pass through git Push orders upload source code, and Mac clients pull source code by git pull orders.
Wherein, initiating compiling instruction in the step S2 from Mac clients to compiler server also includes timed task volume Translate instruction.
Wherein, in the step S2 compiler server by checkout orders from Git servers obtain source code, then Tag is set in git servers, obtains the source code of different editions.
Wherein, being downloaded in the step S3 includes directly downloading by website from Distributor, and uses iOS mobile phones Client is downloaded from Distributor barcode scanning.
Compared with prior art, the present invention can have soon found that compiling is asked by the continuous integrating APP in units of day Topic, automatic packing directly can not be by having beaten after bag, test barcode scanning can not be installed, and this problem can be also exposed immediately Come, interface problem and performance issue just have automatic test script to find.These rudimentary problems expose exhibition by continuous integrating Reveal and, remind us to avoid lower level error, so as to reduce the construction cycle, iteratively faster version.
Brief description of the drawings
Fig. 1 is the system construction drawing of the present invention.
Fig. 2 is the species and purposes block diagram of the certificate of the present invention.
Fig. 3 is the assembly module and lock file block diagrams of the present invention.
Fig. 4 is the compiling flow chart of the automation continuous integrating of the present invention.
The App that Fig. 5 is the present invention distributes schematic diagram.
Embodiment
Below in conjunction with the accompanying drawings and its specific embodiment the invention will be further described, the illustrative examples invented herein And explanation is used for explaining the present invention, but it is not as a limitation of the invention.
As shown in figure 1, a kind of App based under iOS system of the present embodiment automates continuous integration system, including MAC Client, certificate module, assembly module, Git modules, collector, resource dissemination module and test module, wherein:
Mac clients, instruction is compiled with downloadable authentication, component, source code, upload test case and initiation for uploading;
Certificate module, including certificate Resource Server, for managing the certificate of Mac clients upload, and it is supplied to collector It is compiled;
Assembly module, including component server, for managing the component and version of the upload of Mac clients, and it is supplied to compiling mould Block is compiled;
Git modules, including Git servers, for managing the source code of Mac clients upload, and it is supplied to collector to carry out Compiling;
Collector, including compiler server, for source code, component, certificate to be compiled, and perform and be packaged into ipa journeys Sequence bag is simultaneously uploaded to resource dissemination module;
Resource dissemination module, including Distributor, for performing distribution App to test module by the instructions of Mac clients, And/or according to the App different upload AppStore of purposes and/or download;
Test module, including test server, test use is performed for being sent to iOS cell-phone customer terminals and/or iOS simulators Example, and generate test report and feed back to developer.
Wherein, the source code include the lock files of references component, Mac clients and compiler server pass through lock text Part goes to download required component.
A kind of App based under iOS system of the present invention automates continuous integrating method, comprises the following steps that:
S1, by Mac clients upload needed for certificate file to certificate Resource Server, component arrives with component version needed for upload Component server, then upload source code and be managed to Git servers, source code with Git servers, and embedded lock files; As shown in Fig. 2 in iOS system exploitation each App be required for Provisioning Profiles files, p12 certificate files, Push p12 certificate files, also have bundle ID, this four indispensable, and each App is different, according to purposes difference certificate point For four kinds, Enterprice Deployment are enterprise-level distributions, and anyone can download use, depart from AppStore; The development environment test that Development Deployment are used primarily in apple uses;Ad Hoc Deployment are mainly used Test and use in the formal environments of apple;IOS App Store Deploment reach the standard grade AppStore, and user can be directed to difference User upload different certificate type, under an App, different purposes can be distributed according to the difference of compiling instruction App;Many components can be used in App exploitations;In addition, as shown in figure 3, Xcode will be done much when each references component Configuration work, when component upgrade, configuration will may also be changed, it is easy to correct mistakes, it is also possible to cause much incompatible ask Topic, assembly module unified management component, often upload a component and indicate version number and Xcode configuration files, the description of lock files The component and component version of reference, component server is gone to obtain when Mac clients and compiler server compiled code corresponding Component is compiled;Git modules mainly carry out version management using Git, and MAC clients pass through git push order uploads source Code, git pull orders pull code, and compiler server obtains source code by git checkout orders, and we can be again Tag is set in Git servers, can thus obtain the source code of different editions;
S2, compiling instruction, including git warehouses address, required certificate file, distribution are initiated from Mac clients to compiler server Purposes, timed task, compiler server parse lock files, obtained from component server from Git server checkout source codes Take component integration to enter source code, then used from certificate, compiler server needed for the download of certificate Resource Server according to the distribution of certificate Way performs packing by xcodebuild orders after compiling different ipa program bags and is uploaded to Distributor;
S3, Distributor perform distribution App to test server by the instruction of Mac clients, and/or the use according to App Way is different to upload AppStore and/or download, and downloading includes directly downloading by website from Distributor, and uses iOS Cell-phone customer terminal is downloaded from Distributor barcode scanning, referring in particular to Fig. 5;
S4, test server send implementation of test cases to iOS cell-phone customer terminals and/or iOS simulators, and generate test report Feed back to developer.
The compiling flow chart of the automation continuous integrating of the present invention is illustrated in figure 4, makees narration in detail below:
Compiler server compiles from Git server checkout source codes if compiler server finds that source code is wrong Terminate, parse lock files if compiler server finds source code correctly, compiler server is now needed to Component service Device asks the corresponding component of lock files, compiles and terminates if component is wrong, and component correctly then continues to take to certificate resource Business device acquisition request certificate, compiles if certificate is wrong and terminates, certificate correctly then starts to compile, during compiler server Mistake occur, then compiling terminates, if fruit inerrancy compiler server compiles different ipa program bags according to distribution purposes, if Ipa program bags are problematic, terminate to compile, and the inerrancy of ipa program bags then uploads ipa program bags to Distributor, distribution service Ipa program bags are uploaded to App Store by device, then terminate to obtain APP after uploading successfully, if fruit uploads failure, pass through test Server sends implementation of test cases, iOS cell-phone customer terminals and/or iOS to iOS cell-phone customer terminals and/or iOS simulators Simulator implementation of test cases, terminate to obtain APP if test APP has no problem, the generation test report if test is pinpointed the problems Accuse, download test report and feed back to developer, whole system can be divided into the preparation before compiling and the test after compiling, Deployment, start the work of a new round again after test feedback is received.
Technical scheme is not limited to the limitation of above-mentioned specific embodiment, and every technique according to the invention scheme is done The technology deformation gone out, each falls within protection scope of the present invention.

Claims (7)

1. a kind of App based under iOS system automates continuous integration system, it is characterised in that including MAC clients, certificate Module, assembly module, Git modules, collector, resource dissemination module and test module, wherein:
Mac clients, instruction is compiled with downloadable authentication, component, source code, upload test case and initiation for uploading;
Certificate module, including certificate Resource Server, for managing the certificate of Mac clients upload, and it is supplied to collector It is compiled;
Assembly module, including component server, for managing the component and version of the upload of Mac clients, and it is supplied to compiling mould Block is compiled;
Git modules, including Git servers, for managing the source code of Mac clients upload, and it is supplied to collector to carry out Compiling;
Collector, including compiler server, for source code, component, certificate to be compiled, and perform and be packaged into ipa journeys Sequence bag is simultaneously uploaded to resource dissemination module;
Resource dissemination module, including Distributor, for performing distribution App to test module by the instructions of Mac clients, And/or according to the App different upload AppStore of purposes and/or download;
Test module, including test server, test use is performed for being sent to iOS cell-phone customer terminals and/or iOS simulators Example, and generate test report and feed back to developer.
2. the App according to claim 1 based under iOS system automates continuous integration system, it is characterised in that:It is described Source code includes the lock files of references component, and Mac clients and compiler server go to download required group by lock files Part.
3. a kind of automate continuous integrating method based on the App under iOS system as claimed in claim 1, it is characterised in that bag Include following steps:
S1, by Mac clients upload needed for certificate file to certificate Resource Server, component arrives with component version needed for upload Component server, then upload source code and be managed to Git servers, source code with Git servers, and embedded lock files;
S2, compiling instruction, source generation needed for compiler server from Git servers download are initiated from Mac clients to compiler server Code simultaneously parses lock files, and source code is integrated into from component server securing component, then from needed for the download of certificate Resource Server Certificate, compiler server perform packing after different ipa program bags are compiled according to the distribution purposes of certificate and are uploaded to distribution clothes Business device;
S3, Distributor perform distribution App to test server by the instruction of Mac clients, and/or the use according to App Way is different to upload AppStore and/or download;
S4, test server send implementation of test cases to iOS cell-phone customer terminals and/or iOS simulators, and generate test report Feed back to developer.
4. the App according to claim 3 based under iOS system automates continuous integrating method, it is characterised in that:It is described Git servers mainly carry out version management using Git in step S1, and Mac clients upload source code by git push orders, Mac clients pull source code by git pull orders.
5. the App according to claim 3 based under iOS system automates continuous integrating method, it is characterised in that:It is described Initiating compiling instruction from Mac clients to compiler server in step S2 also includes timed task compiling instruction.
6. the App according to claim 3 based under iOS system automates continuous integrating method, it is characterised in that:It is described Compiler server obtains source code by checkout orders from Git servers in step S2, then is set in git servers Tag, obtain the source code of different editions.
7. the App according to claim 3 based under iOS system automates continuous integrating method, it is characterised in that:It is described Being downloaded in step S3 includes directly downloading by website from Distributor, and is serviced using iOS cell-phone customer terminals from distribution Device barcode scanning is downloaded.
CN201710657531.1A 2017-08-03 2017-08-03 A kind of App automation continuous integration systems and method based under iOS system Pending CN107632829A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710657531.1A CN107632829A (en) 2017-08-03 2017-08-03 A kind of App automation continuous integration systems and method based under iOS system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710657531.1A CN107632829A (en) 2017-08-03 2017-08-03 A kind of App automation continuous integration systems and method based under iOS system

Publications (1)

Publication Number Publication Date
CN107632829A true CN107632829A (en) 2018-01-26

Family

ID=61099527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710657531.1A Pending CN107632829A (en) 2017-08-03 2017-08-03 A kind of App automation continuous integration systems and method based under iOS system

Country Status (1)

Country Link
CN (1) CN107632829A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491210A (en) * 2018-03-27 2018-09-04 无锡华云数据技术服务有限公司 Code continuous integrating method, apparatus, system and server
CN109101244A (en) * 2018-07-20 2018-12-28 珠海宏桥高科技有限公司 A kind of ios system integration automatic packaging method
CN109213686A (en) * 2018-10-22 2019-01-15 网易(杭州)网络有限公司 Using backpack body inspection method, device, storage medium, processor and server
CN109460360A (en) * 2018-10-29 2019-03-12 北京云测信息技术有限公司 A method of enhancing IOS automatic test input stability and compatibility
CN109889579A (en) * 2019-01-24 2019-06-14 江苏中云科技有限公司 Universal upgrade system under cloud computing environment
WO2019169726A1 (en) * 2018-03-08 2019-09-12 平安科技(深圳)有限公司 Method and device for packaging and uploading application, computer equipment, and storage medium
CN111209205A (en) * 2020-01-08 2020-05-29 北京字节跳动网络技术有限公司 Configuration method and device and electronic equipment
CN111767208A (en) * 2020-06-02 2020-10-13 北京金堤科技有限公司 Automatic test method and device
CN112256319A (en) * 2020-10-27 2021-01-22 厦门吉比特网络技术股份有限公司 iOS installation package version management system and method based on safety environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336688A (en) * 2013-06-20 2013-10-02 中标软件有限公司 Software integrating method and system oriented to cloud computing software research and development process
CN103838584A (en) * 2014-03-26 2014-06-04 北京京东尚科信息技术有限公司 Development method and device for mobile terminal application
CN104077140A (en) * 2014-07-04 2014-10-01 用友软件股份有限公司 Automatic compiling method and compiling device for continuous integration
CN106293742A (en) * 2016-08-11 2017-01-04 浪潮电子信息产业股份有限公司 A kind of Automatic System Inteqration method built based on timing
US20180321926A1 (en) * 2017-05-05 2018-11-08 Servicenow, Inc. Service release tool

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336688A (en) * 2013-06-20 2013-10-02 中标软件有限公司 Software integrating method and system oriented to cloud computing software research and development process
CN103838584A (en) * 2014-03-26 2014-06-04 北京京东尚科信息技术有限公司 Development method and device for mobile terminal application
CN104077140A (en) * 2014-07-04 2014-10-01 用友软件股份有限公司 Automatic compiling method and compiling device for continuous integration
CN106293742A (en) * 2016-08-11 2017-01-04 浪潮电子信息产业股份有限公司 A kind of Automatic System Inteqration method built based on timing
US20180321926A1 (en) * 2017-05-05 2018-11-08 Servicenow, Inc. Service release tool

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名: "手把手教你利用Jenkins持续集成iOS项目", 《HTTP://WWW.COCOACHINA.COM/ARTICLES/17281》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019169726A1 (en) * 2018-03-08 2019-09-12 平安科技(深圳)有限公司 Method and device for packaging and uploading application, computer equipment, and storage medium
CN108491210A (en) * 2018-03-27 2018-09-04 无锡华云数据技术服务有限公司 Code continuous integrating method, apparatus, system and server
CN109101244A (en) * 2018-07-20 2018-12-28 珠海宏桥高科技有限公司 A kind of ios system integration automatic packaging method
CN109213686A (en) * 2018-10-22 2019-01-15 网易(杭州)网络有限公司 Using backpack body inspection method, device, storage medium, processor and server
CN109213686B (en) * 2018-10-22 2022-03-22 网易(杭州)网络有限公司 Application packet body checking method and device, storage medium, processor and server
CN109460360A (en) * 2018-10-29 2019-03-12 北京云测信息技术有限公司 A method of enhancing IOS automatic test input stability and compatibility
CN109460360B (en) * 2018-10-29 2021-10-15 北京云测信息技术有限公司 Method for enhancing input stability and compatibility of IOS (input operating System) automatic test
CN109889579B (en) * 2019-01-24 2021-01-26 江苏中云科技有限公司 General upgrading system under cloud computing environment
CN109889579A (en) * 2019-01-24 2019-06-14 江苏中云科技有限公司 Universal upgrade system under cloud computing environment
CN111209205A (en) * 2020-01-08 2020-05-29 北京字节跳动网络技术有限公司 Configuration method and device and electronic equipment
CN111209205B (en) * 2020-01-08 2023-10-10 北京字节跳动网络技术有限公司 Configuration method, configuration device and electronic equipment
CN111767208A (en) * 2020-06-02 2020-10-13 北京金堤科技有限公司 Automatic test method and device
CN111767208B (en) * 2020-06-02 2023-09-19 北京金堤科技有限公司 Automatic test method and device
CN112256319A (en) * 2020-10-27 2021-01-22 厦门吉比特网络技术股份有限公司 iOS installation package version management system and method based on safety environment

Similar Documents

Publication Publication Date Title
CN107632829A (en) A kind of App automation continuous integration systems and method based under iOS system
CN107896244B (en) Version file distribution method, client and server
US8627311B2 (en) Systems, methods, and apparatus to deploy software
CN107704395B (en) Cloud platform automation test implementation method and system based on Openstack
CN107688464A (en) Software customized server, method and computer-readable recording medium
CN109683899A (en) A kind of software integrating method and device
CN104346184A (en) Application packaging device and application packaging method
CN104978258A (en) Software automation test method and system
CN104423955A (en) Method and system for realizing automatic compilation of iOS application
CN106339273A (en) Application program restoration method, terminal and server
CN105450476A (en) Regression test system and test method
CN107870771A (en) Application builds and upgrade method and system
CN111162953A (en) Data processing method, system upgrading method and server
CN110515625A (en) Task construction method, device, equipment and computer readable storage medium
CN109104368B (en) Connection request method, device, server and computer readable storage medium
CN110716786B (en) Page display method, system and storage medium
CN109597627A (en) A kind of component mounting method, device, storage medium and processor
CN108647142B (en) Local pre-compiling and debugging method and system for Gatling voltage measurement footage
CN107590064A (en) A kind of application upgrade method of testing, device and system
CN110752964B (en) Network equipment testing method and device
CN104917633A (en) Method and device simulating FOTA upgrade
US11789712B2 (en) Data configuration deployment framework
CN115525545A (en) Docker-based automatic testing method, system, equipment and medium
CN109725927A (en) Synchronous method and device, the storage medium and terminal of code management system
CN110489108B (en) Method and device for automatically collecting reusable components

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180126