CN111488136A - Continuous integration and continuous delivery method, system, device and storage medium - Google Patents

Continuous integration and continuous delivery method, system, device and storage medium Download PDF

Info

Publication number
CN111488136A
CN111488136A CN202010265372.2A CN202010265372A CN111488136A CN 111488136 A CN111488136 A CN 111488136A CN 202010265372 A CN202010265372 A CN 202010265372A CN 111488136 A CN111488136 A CN 111488136A
Authority
CN
China
Prior art keywords
task
configuration file
script
continuous
gitlab
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
CN202010265372.2A
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.)
Ctrip Travel Network Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Network Technology Shanghai 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 Ctrip Travel Network Technology Shanghai Co Ltd filed Critical Ctrip Travel Network Technology Shanghai Co Ltd
Priority to CN202010265372.2A priority Critical patent/CN111488136A/en
Publication of CN111488136A publication Critical patent/CN111488136A/en
Pending legal-status Critical Current

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Abstract

The invention provides a continuous integration and continuous delivery method, a system, equipment and a storage medium, wherein the method comprises the following steps: acquiring a project configuration file and a CI configuration file; acquiring a task script file, and configuring a task script in the project configuration file; according to the task script in the project configuration file, presetting tasks to be constructed in the CI configuration file; acquiring submitted codes, pushing the submitted codes to a Gitlab warehouse, and acquiring a task construction result of a Gitlab CI system, wherein the Gitlab CI system is configured to sequentially trigger automatic construction of tasks for the codes to be integrated according to tasks to be constructed preset in a CI configuration file; and determining whether the application is in a deliverable state according to the task construction result. The invention can realize automatic construction task and improve the efficiency of continuous integration and continuous delivery.

Description

Continuous integration and continuous delivery method, system, device and storage medium
Technical Field
The present invention relates to the field of application delivery technologies, and in particular, to a method, a system, a device, and a storage medium for continuous integration and continuous delivery.
Background
Continued integration emphasizes that the developer immediately proceeds with build, (unit) testing after the new code is submitted. From the test results, we can determine whether the new code and the original code can be properly integrated together, with the idea of continuing integration being deliverable, at least actually operable, for each submitted software version. Continuous delivery deploys the integrated code into a class production environment closer to the real operating environment on the basis of continuous integration.
In the existing continuous integration and continuous delivery methods, each task needs to be constructed manually, and a development team can only wait until the later development stage and search and repair defects by a quality team or a user.
Disclosure of Invention
In view of the problems in the prior art, an object of the present invention is to provide a method, a system, a device, and a storage medium for continuous integration and continuous delivery, which can implement an automated construction task and improve the efficiency of continuous integration and continuous delivery.
The embodiment of the invention provides a continuous integration and continuous delivery method, which comprises the following steps:
acquiring a project configuration file and a CI configuration file;
acquiring a task script file, and configuring a task script in the project configuration file;
according to the task script in the project configuration file, presetting tasks to be constructed in the CI configuration file;
acquiring submitted codes, pushing the submitted codes to a Gitlab warehouse, and acquiring a task construction result of a Gitlab CI system, wherein the Gitlab CI system is configured to sequentially trigger automatic construction of tasks for the codes to be integrated according to tasks to be constructed preset in a CI configuration file;
and determining whether the application is in a deliverable state according to the task construction result.
Optionally, configuring a task script in the project configuration file includes the following steps:
and adding a command block executed by the task script in the project configuration file, opening a command line execution tool, and executing the task script.
Optionally, according to the task script in the project configuration file, before a task to be constructed is preset in the CI configuration file, a feedback mechanism corresponding to the task is configured according to a communication interface;
and after the task construction result of the Gitlab CI system is obtained, feeding back the task construction result according to the task construction result and the feedback mechanism.
Optionally, the task script file includes a code test task script file, an application release task script file, and a user interface test task script file;
and configuring a task script in the project configuration file, wherein the task script comprises a code test task script, an application release task script and a user interface test task script which are configured in the project configuration file.
Optionally, the test task includes at least one of an eslin code quality detection task, a tsc code compilation task, and a Jest unit test task.
Optionally, configuring an application publishing task script in the project configuration file according to an application programming interface of a publishing platform;
configuring a user interface test task script in the project configuration file by adopting the following steps:
establishing a user interface automation platform and configuring an application programming communication interface of the platform;
and configuring a user interface test task script in the project configuration file.
Optionally, before the code submitted by the obtaining and pushing to the Gitlab warehouse, the method further includes the following steps:
and configuring environment variables of the construction tasks at a Gitlab warehouse, wherein the environment variables comprise construction switches and test parameters of all the tasks.
The embodiment of the invention also provides a continuous integration and continuous delivery system, which is used for realizing the continuous integration and continuous delivery method, and the system comprises:
the file acquisition module is used for acquiring a project configuration file and a CI configuration file;
the task configuration module is used for acquiring a task script file and configuring a task script in the project configuration file;
the task presetting module is used for presetting tasks to be constructed in the CI configuration file according to task scripts in the project configuration file;
and the task execution module is used for acquiring submitted codes, pushing the submitted codes to a Gitlab warehouse, acquiring a task construction result of the Gitlab CI system, and determining whether the application is in a deliverable state according to the task construction result, wherein the Gitlab CI system is configured to sequentially trigger the automatic construction of tasks according to the tasks to be constructed preset in the CI configuration file.
An embodiment of the present invention further provides a continuous integration and continuous delivery device, including:
a processor;
a memory having stored therein executable instructions of the processor;
wherein the processor is configured to perform the steps of the persistent integration and persistent delivery method via execution of the executable instructions.
Embodiments of the present invention further provide a computer-readable storage medium for storing a program, where the program is executed to implement the steps of the persistent integration and persistent delivery method.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
The invention can realize automatic construction tasks, and automatically and continuously construct each preset task in the process of submitting the Internet application from the application code to the application deployment, including but not limited to code quality detection, application compilation, unit test, application release, application user interface automatic test and the like, without depending on the low-efficiency working state of the original manual construction, developers only need to concentrate on code development and review, and other processes are automatically completed as far as possible. Meanwhile, a sustainable feedback mechanism is established, and a development team receives feedback and improves the feedback without depending on a quality team or a user to search and repair defects after a development period.
Drawings
Other features, objects and advantages of the present invention will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, with reference to the accompanying drawings.
FIG. 1 is a flow chart of a method of continuous integration and continuous delivery of an embodiment of the present invention;
FIGS. 2 and 3 are schematic diagrams of a process for continuous integration and continuous delivery using a Gitlab CI system according to an embodiment of the present invention;
FIGS. 4 and 5 are schematic diagrams of the results of the Gitlab CI system persistence construction task according to an embodiment of the present invention;
FIG. 6 is a diagram illustrating the effect of triggering a build task in a Gitlab CI system according to an embodiment of the present invention;
FIG. 7 is a diagram illustrating the successful completion of integration in the Gitlab CI system according to an embodiment of the present invention;
FIG. 8 is a schematic block diagram of a continuous integration and continuous delivery system in accordance with an embodiment of the present invention;
FIG. 9 is a schematic block diagram of a continuous integration and continuous delivery apparatus of an embodiment of the present invention;
fig. 10 is a schematic structural diagram of a computer-readable storage medium according to an embodiment of the present invention.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
As shown in fig. 1, an embodiment of the present invention provides a continuous integration and continuous delivery method, including the following steps:
s100: acquiring a project configuration file and a CI configuration file;
s200: acquiring a task script file, and configuring a task script in the project configuration file;
s300: according to the task script in the project configuration file, presetting tasks to be constructed in the CI configuration file;
s400: acquiring submitted codes, pushing the submitted codes to a Gitlab warehouse, and acquiring a task construction result of a Gitlab CI system, wherein the Gitlab CI system is configured to sequentially trigger automatic construction of tasks for the codes to be integrated according to tasks to be constructed preset in a CI configuration file;
s500: and determining whether the application is in a deliverable state according to the task construction result.
The continuous integration and continuous delivery method can realize automatic construction tasks, and each preset task in the process of submitting the Internet application from the application code to the application deployment can be automatically and continuously constructed, including but not limited to code quality detection, application compiling, unit testing, application publishing, application user interface automatic testing and the like, so that the inefficient working state of original manual construction is not relied on, developers only need to concentrate on code development and review, and other processes are automatically completed as far as possible.
Git L ab is a web-based Git warehouse management tool developed by Git L ab Inc., where CI is the abbreviation of Continuous Integration, meaning persistent Integration, and Git L ab CI is a suite of CI systems that work with Git L ab.
In step S400, the submitted codes are obtained and pushed to a Gitlab warehouse, the Gitlab submits the content of application change to a certain characteristic branch of a Git L ab code storage warehouse, a built-in version control function of the Git L ab ensures the maintainability of the codes, and a Git L ab warehouse is also a material library automatically constructed in continuous integration.
In this embodiment, in the step S200, configuring a task script in the project configuration file includes the following steps:
and adding a command block executed by the task script in the project configuration file, opening a command line execution tool, and executing the task script.
In this embodiment, the step S300: according to the task script in the project configuration file, before the task required to be constructed is preset in the CI configuration file, a feedback mechanism corresponding to the task is configured according to a communication interface;
in step S400, after the task construction result of the Gitlab CI system is obtained, the task construction result feedback is performed according to the task construction result and the feedback mechanism.
Therefore, the invention establishes a sustainable feedback mechanism by standardizing the development process of the software, finds the integration errors in the software development process as early as possible, solves the errors, shortens the development period of the product and improves the overall efficiency. And the development team receives the feedback and improves the feedback without waiting for the development period and searching and repairing the defects by a quality team or a user.
In this embodiment, the task script file includes a code test task script file, an application release task script file, and a user interface test task script file;
and configuring a task script in the project configuration file, wherein the task script comprises a code test task script, an application release task script and a user interface test task script which are configured in the project configuration file.
In this embodiment, the test tasks include at least one of an eslin code quality detection task, a tsc code compilation task, and a Jest unit test task.
In this embodiment, code quality checks are performed based on ES L int, ES L int is a static code analysis tool that identifies ECMAScript and gives reports according to rules, avoiding code low-level errors and unifying code styles.A TypeScript command line tool tsc is used for code compilation verification.TypeScript is an open-source programming language developed by Microsoft that is a superset of JavaScript, supports the ECMAScript6 standard, and has class-based object-oriented programming features.A tsc tool is a console interface of a TypeScript compiler that compiles TypeScript files into JavaScript files that can be executed in any JavaScript engine.
The scheme of continuous integration and continuous delivery in the invention can be developed based on NodeJS, which is a JavaScript language operating environment based on Chrome V8 engine.
In this embodiment, the application publishing task script is configured in the project configuration file according to an application programming interface API of the publishing platform.
Configuring a user interface test task script in the project configuration file by adopting the following steps:
establishing a user interface automation platform and configuring an application programming communication interface of the platform;
and configuring a user interface test task script in the project configuration file.
The invention carries out UI automatic test based on an automatic test framework of a behavior-driven development mode. The automatic test framework translates the service function into a UI automation script which can be directly executed through a natural language.
Based on the method, the engineering of a set of codes can produce different applications according to different platforms. The web application is used for continuous integration of web UI automatic access, so that high-efficiency UI verification and quick feedback are achieved. Meanwhile, the same set of codes is used for producing and delivering applications (such as ReactNative applications) of other platforms.
In conclusion, the continuous integration and continuous delivery method of the invention abandons the fussy manual construction process and the manual transmission of construction results through the automatic task construction, saves resources, saves time, reduces the code test cost, can quickly feed back the integration problem, can more efficiently and quickly iterate products, and can keep the high quality of software application codes.
Specifically, in a specific example, after acquiring a project configuration file package, json and a CI configuration file, gitlab _ ci.yml, which exist in a project, the step S200 of configuring each task script in the project configuration file may adopt the following steps:
(1) and according to the open source document, configuring a task script file integrating ESlint verification, tsc compiling and unit testing in engineering. Meanwhile, a corresponding feedback mechanism is configured according to the communication interface, and the integrated information is sent to a team mailbox or other communication accounts. Json configures task scripts required to be constructed in a project configuration file package, and locally debugs the task scripts to ensure that the execution is passed;
for example: under the tags of the scripts in the json, command blocks "line": eslint src/, { ts, tsx } "," tsc ": tsc", "ut": jest ") executed by the script are newly added. And opening a command line execution tool and executing the corresponding script.
(2) According to the API interface of the release platform, an application automatic release task script file and a corresponding feedback mechanism are created in a project, an automatic release task script is configured in a project configuration file and used for building automatic release of the application, and the automatic release task script is debugged and executed locally.
For example: adding a script file publish.js under the cic folder, and adding a command block 'publish' executed by the script under a script label in the package.json, wherein the command block 'publish' is 'node cic/publish.js'. Open the command line execution tool, execute npm run publish.
(3) And establishing a user interface automation platform for UI automation test, and providing an API communication interface for establishing a test task and inquiring a test result. According to the API interface, an application UI automation test script file and a corresponding feedback mechanism are created in a project, a user interface task script is configured in a project configuration file and used for building application UI automation test work and executing the work locally.
For example: adding a script file uitest.js under the cic folder, and adding a command block "uitest" executed by the script under a script tag in the package.json, wherein the command block "uiste" is node cic/uiste.js. The command line execution tool is opened and the npm run uitest is executed.
In this example, in step S300, configuring the preset task to be constructed in the CI configuration file may include the following steps:
presetting tasks to be constructed in a project gitlab _ ci.yml according to task scripts to be constructed in a package json;
for example, the preset ES L int check task, the tsc code compiling test task, the unit test task, the automatic release task and the construction task of the user interface task.
Figure BDA0002441083100000081
Figure BDA0002441083100000091
Thereby, the local configuration ends.
In this embodiment, the step S400: the method comprises the following steps of obtaining submitted codes and pushing the codes to a Gitlab warehouse:
and configuring environment variables of the construction tasks in the Gitlab warehouse Setting → CI/CD, wherein the environment variables comprise construction switches and test parameters of each task. Therefore, the above preset task of the build job can configure the build switch and the threshold value to control whether the build is executable and the necessary conditions for the build to pass through the execution.
For example, setting a switch of whether an application constructs a release task to be off, and setting CI _ PIPE L INE _ PUB L ISH to be N, setting a passing rate threshold of an application UI automation test to be 80, and setting THRESHO L D _ VA L UE to be 80.
In step S400, after the task construction result of the gillab CI system is obtained, if each task is completely constructed, it indicates that the new software version is in a deliverable state, and this integration is completed, and if any necessary constructed task fails, an integration failure message is immediately fed back to the team by using a feedback mechanism to wait for the repair of the integration error.
As shown in fig. 8, an embodiment of the present invention further provides a continuous integration and continuous delivery system, configured to implement the continuous integration and continuous delivery method, where the system includes:
a file obtaining module M100, configured to obtain a project configuration file and a CI configuration file;
the task configuration module M200 is used for acquiring a task script file and configuring a task script in the project configuration file;
the task presetting module M300 is used for presetting tasks to be constructed in the CI configuration file according to the task scripts in the project configuration file;
and the task execution module M400 is used for acquiring the submitted codes, pushing the submitted codes to a Gitlab warehouse, acquiring a task construction result of a Gitlab CI system, and determining whether the application is in a deliverable state according to the task construction result, wherein the Gitlab CI system is configured to sequentially trigger the automatic construction of tasks aiming at the codes to be integrated according to the tasks to be constructed preset in the CI configuration file.
The continuous integration and continuous delivery system can realize automatic construction tasks, and each preset task in the process of submitting the Internet application from the application code to the application deployment can be automatically and continuously constructed, including but not limited to code quality detection, application compiling, unit testing, application publishing, application user interface automatic testing and the like, so that the inefficient working state of original manual construction is not relied on, developers only need to concentrate on code development and review, and other processes are automatically completed as far as possible.
The embodiment of the invention also provides continuous integration and continuous delivery equipment, which comprises a processor; a memory having stored therein executable instructions of the processor; wherein the processor is configured to perform the steps of the persistent integration and persistent delivery method via execution of the executable instructions.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" platform.
An electronic device 600 according to this embodiment of the invention is described below with reference to fig. 9. The electronic device 600 shown in fig. 9 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 9, the electronic device 600 is embodied in the form of a general purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 that connects the various system components (including the storage unit 620 and the processing unit 610), a display unit 640, and the like.
Wherein the storage unit stores program code executable by the processing unit 610 to cause the processing unit 610 to perform steps according to various exemplary embodiments of the present invention as described in the above-mentioned parts of the persistent integration and persistent delivery methods of the present specification. For example, the processing unit 610 may perform the steps as shown in fig. 1.
The storage unit 620 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)6201 and/or a cache memory unit 6202, and may further include a read-only memory unit (ROM) 6203.
The memory unit 620 may also include a program/utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 630 may be one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
Electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboard, pointing device, Bluetooth device, etc.), and may also communicate with one or more devices that enable a user to interact with electronic device 600, and/or with any device (e.g., router, modem, etc.) that enables electronic device 600 to communicate with one or more other computing devices.
Embodiments of the present invention further provide a computer-readable storage medium for storing a program, where the program is executed to implement the steps of the persistent integration and persistent delivery method. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the invention described in the above-mentioned persistent integration and persistent delivery method section of the present specification, when the program product is executed on the terminal device.
Referring to fig. 10, a program product 800 for implementing the above method according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be executed on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including AN object oriented programming language such as Java, C + +, or the like, as well as conventional procedural programming languages, such as the "C" language or similar programming languages.
The invention can realize automatic construction tasks, and automatically and continuously construct each preset task in the process of submitting the Internet application from the application code to the application deployment, including but not limited to code quality detection, application compilation, unit test, application release, application user interface automatic test and the like, without depending on the low-efficiency working state of the original manual construction, developers only need to concentrate on code development and review, and other processes are automatically completed as far as possible. Meanwhile, a sustainable feedback mechanism is established, and a development team receives feedback and improves the feedback without depending on a quality team or a user to search and repair defects after a development period.
The foregoing is a more detailed description of the invention in connection with specific preferred embodiments and it is not intended that the invention be limited to these specific details. For those skilled in the art to which the invention pertains, several simple deductions or substitutions can be made without departing from the spirit of the invention, and all shall be considered as belonging to the protection scope of the invention.

Claims (10)

1. A method of continuous integration and continuous delivery, comprising the steps of:
acquiring a project configuration file and a CI configuration file;
acquiring a task script file, and configuring a task script in the project configuration file;
according to the task script in the project configuration file, presetting tasks to be constructed in the CI configuration file;
acquiring submitted codes, pushing the submitted codes to a Gitlab warehouse, and acquiring a task construction result of a Gitlab CI system, wherein the Gitlab CI system is configured to sequentially trigger automatic construction of tasks for the codes to be integrated according to tasks to be constructed preset in a CI configuration file;
and determining whether the application is in a deliverable state according to the task construction result.
2. The continuous integration and continuous delivery method of claim 1, wherein configuring a task script in the project configuration file comprises the steps of:
and adding a command block executed by the task script in the project configuration file, opening a command line execution tool, and executing the task script.
3. The continuous integration and continuous delivery method according to claim 1, wherein a feedback mechanism corresponding to a task is configured according to a communication interface before the task to be constructed is preset in the CI configuration file according to a task script in the project configuration file;
and after the task construction result of the Gitlab CI system is obtained, feeding back the task construction result according to the task construction result and the feedback mechanism.
4. The method for continuous integration and continuous delivery of claim 1, wherein the task script files comprise a code test task script file, an application release task script file, and a user interface test task script file;
and configuring a task script in the project configuration file, wherein the task script comprises a code test task script, an application release task script and a user interface test task script which are configured in the project configuration file.
5. The method for continuous integration and continuous delivery of claim 4, wherein the test tasks include at least one of an ESlint code quality detection task, a tsc code compilation task, and a Jest unit test task.
6. The continuous integration and continuous delivery method of claim 1, wherein an application publishing task script is configured in the project configuration file according to an application programming interface of a publishing platform;
configuring a user interface test task script in the project configuration file by adopting the following steps:
establishing a user interface automation platform and configuring an application programming communication interface of the platform;
and configuring a user interface test task script in the project configuration file.
7. The continuous integration and continuous delivery method according to claim 1, wherein said obtaining the submitted code, before pushing it to the Gitlab repository, further comprises the steps of:
and configuring environment variables of the construction tasks at a Gitlab warehouse, wherein the environment variables comprise construction switches and test parameters of all the tasks.
8. A continuous integration and continuous delivery system for implementing the continuous integration and continuous delivery method of any one of claims 1 to 7, characterized in that the system comprises:
the file acquisition module is used for acquiring a project configuration file and a CI configuration file;
the task configuration module is used for acquiring a task script file and configuring a task script in the project configuration file;
the task presetting module is used for presetting tasks to be constructed in the CI configuration file according to task scripts in the project configuration file;
and the task execution module is used for acquiring submitted codes, pushing the submitted codes to a Gitlab warehouse, acquiring a task construction result of the Gitlab CI system, and determining whether the application is in a deliverable state according to the task construction result, wherein the Gitlab CI system is configured to sequentially trigger the automatic construction of tasks according to the tasks to be constructed preset in the CI configuration file.
9. A continuous integration and continuous delivery apparatus, comprising:
a processor;
a memory having stored therein executable instructions of the processor;
wherein the processor is configured to perform the steps of the method of any one of claims 1 to 7 via execution of the executable instructions.
10. A computer readable storage medium storing a program, wherein the program when executed implements the steps of the persistent integration and persistent delivery method of any of claims 1 to 7.
CN202010265372.2A 2020-04-07 2020-04-07 Continuous integration and continuous delivery method, system, device and storage medium Pending CN111488136A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010265372.2A CN111488136A (en) 2020-04-07 2020-04-07 Continuous integration and continuous delivery method, system, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010265372.2A CN111488136A (en) 2020-04-07 2020-04-07 Continuous integration and continuous delivery method, system, device and storage medium

Publications (1)

Publication Number Publication Date
CN111488136A true CN111488136A (en) 2020-08-04

Family

ID=71798218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010265372.2A Pending CN111488136A (en) 2020-04-07 2020-04-07 Continuous integration and continuous delivery method, system, device and storage medium

Country Status (1)

Country Link
CN (1) CN111488136A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114859A (en) * 2020-09-17 2020-12-22 云账户技术(天津)有限公司 File processing method and device and storage medium
CN112181478A (en) * 2020-09-15 2021-01-05 中信银行股份有限公司 Construction result obtaining method and device and storage medium
CN112394949A (en) * 2020-12-03 2021-02-23 中国科学院软件研究所 Service version dynamic configuration method for continuous integration
CN112527382A (en) * 2020-12-14 2021-03-19 携程旅游网络技术(上海)有限公司 Method for deploying pipeline engine system, method and device for continuous integration
CN112732565A (en) * 2020-12-31 2021-04-30 星环信息科技(上海)股份有限公司 Software continuous integration evaluation method, computer equipment and medium
CN113111002A (en) * 2021-04-30 2021-07-13 中原银行股份有限公司 Method, system and medium for automatically managing interface case
CN115437682A (en) * 2022-09-15 2022-12-06 中国安全生产科学研究院 Application development management system under ABAP development environment
EP4246332A1 (en) * 2022-03-15 2023-09-20 Accenture Global Solutions Limited System and method for serverless application testing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588740B1 (en) * 2013-03-09 2017-03-07 Ca, Inc. Systems, methods and computer program products for construction of cloud applications
CN107193669A (en) * 2017-05-09 2017-09-22 千寻位置网络有限公司 The system and design method of maintenance interface based on mixed cloud or large-scale cluster
CN108874650A (en) * 2017-05-09 2018-11-23 上海秦苍信息科技有限公司 A kind of continuous integrating automated testing method
CN109683912A (en) * 2018-12-29 2019-04-26 有米科技股份有限公司 Integrated Simulation and the method, apparatus of deployment, server and storage medium
CN109766269A (en) * 2018-12-18 2019-05-17 微梦创科网络科技(中国)有限公司 Continuous integrating automated testing method, device, equipment and medium
CN110096424A (en) * 2019-05-14 2019-08-06 北京字节跳动网络技术有限公司 Processing method, device, electronic equipment and the storage medium of test
CN110704025A (en) * 2019-08-29 2020-01-17 贝壳技术有限公司 Method and device for generating coding specification tool, storage medium and electronic equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588740B1 (en) * 2013-03-09 2017-03-07 Ca, Inc. Systems, methods and computer program products for construction of cloud applications
CN107193669A (en) * 2017-05-09 2017-09-22 千寻位置网络有限公司 The system and design method of maintenance interface based on mixed cloud or large-scale cluster
CN108874650A (en) * 2017-05-09 2018-11-23 上海秦苍信息科技有限公司 A kind of continuous integrating automated testing method
CN109766269A (en) * 2018-12-18 2019-05-17 微梦创科网络科技(中国)有限公司 Continuous integrating automated testing method, device, equipment and medium
CN109683912A (en) * 2018-12-29 2019-04-26 有米科技股份有限公司 Integrated Simulation and the method, apparatus of deployment, server and storage medium
CN110096424A (en) * 2019-05-14 2019-08-06 北京字节跳动网络技术有限公司 Processing method, device, electronic equipment and the storage medium of test
CN110704025A (en) * 2019-08-29 2020-01-17 贝壳技术有限公司 Method and device for generating coding specification tool, storage medium and electronic equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董昕 等: "基于DevOps能力模型的持续集成方法" *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181478A (en) * 2020-09-15 2021-01-05 中信银行股份有限公司 Construction result obtaining method and device and storage medium
CN112114859A (en) * 2020-09-17 2020-12-22 云账户技术(天津)有限公司 File processing method and device and storage medium
CN112394949A (en) * 2020-12-03 2021-02-23 中国科学院软件研究所 Service version dynamic configuration method for continuous integration
CN112394949B (en) * 2020-12-03 2022-04-22 中国科学院软件研究所 Service version dynamic configuration method for continuous integration
CN112527382A (en) * 2020-12-14 2021-03-19 携程旅游网络技术(上海)有限公司 Method for deploying pipeline engine system, method and device for continuous integration
CN112527382B (en) * 2020-12-14 2023-12-12 携程旅游网络技术(上海)有限公司 Method for deploying pipeline engine system, and method and device for continuous integration
CN112732565A (en) * 2020-12-31 2021-04-30 星环信息科技(上海)股份有限公司 Software continuous integration evaluation method, computer equipment and medium
CN112732565B (en) * 2020-12-31 2023-07-18 星环信息科技(上海)股份有限公司 Evaluation method for continuous integration of software, computer equipment and medium
CN113111002A (en) * 2021-04-30 2021-07-13 中原银行股份有限公司 Method, system and medium for automatically managing interface case
EP4246332A1 (en) * 2022-03-15 2023-09-20 Accenture Global Solutions Limited System and method for serverless application testing
CN115437682A (en) * 2022-09-15 2022-12-06 中国安全生产科学研究院 Application development management system under ABAP development environment

Similar Documents

Publication Publication Date Title
CN111488136A (en) Continuous integration and continuous delivery method, system, device and storage medium
US20160357519A1 (en) Natural Language Engine for Coding and Debugging
US8549483B1 (en) Engine for scalable software testing
CN108845940B (en) Enterprise-level information system automatic function testing method and system
US20140165040A1 (en) Test script generation for application image validation
CN109669873B (en) User interface automatic test method and device, electronic equipment and storage medium
US8285662B2 (en) Framework for delta analysis during automated builds
US7178135B2 (en) Scope-based breakpoint selection and operation
CN102411503A (en) Dry-run design time environment
US10782966B2 (en) Artificially intelligent self-learning software operating program
US20200183683A1 (en) Application architecture generation
US9311077B2 (en) Identification of code changes using language syntax and changeset data
EP3447635A1 (en) Application architecture generation
CN115543781A (en) Method and interactive system for automatically verifying automobile software model
CN110928760B (en) Unit test method and device in embedded system
CN113934640A (en) Method and system for automatically testing software
CN112988578A (en) Automatic testing method and device
WO2021036697A1 (en) Commissioning method and apparatus, device and storage medium
CN116501652B (en) Automatic testing method and system for sustainable integration based on SAAS (software as a service) system
US10599424B2 (en) Committed program-code management
CN117215558A (en) Visual software development method, device, equipment and medium for android
CN112052037A (en) Application software development method, device, equipment and medium
CN111858302B (en) Method and device for testing small program, electronic equipment and storage medium
Saadatmand Towards automating integration testing of. NET applications using Roslyn
CN113126998A (en) Incremental source code acquisition method and device, electronic equipment and storage medium

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