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 PDFInfo
- 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
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
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.
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)
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)
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 |
-
2017
- 2017-08-03 CN CN201710657531.1A patent/CN107632829A/en active Pending
Patent Citations (5)
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)
Title |
---|
佚名: "手把手教你利用Jenkins持续集成iOS项目", 《HTTP://WWW.COCOACHINA.COM/ARTICLES/17281》 * |
Cited By (14)
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 |