CN112527382B - Method for deploying pipeline engine system, and method and device for continuous integration - Google Patents

Method for deploying pipeline engine system, and method and device for continuous integration Download PDF

Info

Publication number
CN112527382B
CN112527382B CN202011472000.3A CN202011472000A CN112527382B CN 112527382 B CN112527382 B CN 112527382B CN 202011472000 A CN202011472000 A CN 202011472000A CN 112527382 B CN112527382 B CN 112527382B
Authority
CN
China
Prior art keywords
pipeline
engine system
configuration
code
continuous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011472000.3A
Other languages
Chinese (zh)
Other versions
CN112527382A (en
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 CN202011472000.3A priority Critical patent/CN112527382B/en
Publication of CN112527382A publication Critical patent/CN112527382A/en
Application granted granted Critical
Publication of CN112527382B publication Critical patent/CN112527382B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Generation (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The application discloses a method for deploying a pipeline engine system, a method for continuously integrating, a device, equipment and a medium, wherein the method for deploying the pipeline engine system comprises the following steps: acquiring basic information of an item to be continuously integrated; generating a configuration file corresponding to a continuous integrated pipeline of the project in a code management warehouse Gitlab based on the language type; and generating a pipeline engine system comprising a pipeline interactive interface according to the configuration subfile. The method can directly modify the step or task of the continuous integrated pipeline in a mode of directly deleting or adding the step or task in the interactive interface, so that the problems of abnormal complexity and extremely high error probability of directly modifying the gitlab-ci.yml file when the steps and tasks in the pipeline are more are solved.

Description

Method for deploying pipeline engine system, and method and device for continuous integration
Technical Field
The present application relates to the field of project integration technologies, and in particular, to a method for deploying a pipeline engine system, a method, an apparatus, a device and a medium for continuous integration.
Background
In the software project, the integration stage is usually at the end, and if problems occur, the problems can be solved by continuous integration, which can not be delivered on time. In the persistent integration process, a developer uploads a written source code to a persistent integration server, and the persistent integration server compiles, tests, packages and the like the source code.
Conventional techniques typically write a configuration file by a developer to describe the execution steps of the entire integration pipeline when performing continuous integration, with each project being different in the steps of the continuous integration process. When an engineer needs to adjust or add process steps and tasks, then a different configuration file needs to be written. When defining Pipeline based on the Gitleb CI (continuous integration system), the gitleb-ci.yml script file is directly edited, and once the steps and tasks involved in the Pipeline are more, the steps and tasks directly become extremely complex and are very easy to make mistakes.
Disclosure of Invention
The application aims to overcome the defect that in the prior art, if the involved steps and tasks are more, the direct compiling of a gitlab-ci.yml script is easy to make mistakes, and provides a method for deploying a pipeline engine system, a continuous integration method, a continuous integration device, continuous integration equipment and a continuous integration medium.
The application solves the technical problems by the following technical scheme:
in a first aspect, the present application provides a method of deploying a pipeline engine system, the method comprising:
acquiring basic information of an item to be continuously integrated; wherein the basic information includes a language type;
generating a configuration file corresponding to the continuous integrated pipeline of the project in a code management warehouse Gitlab based on the language type; the continuous integrated pipeline comprises a plurality of different steps, each step corresponds to a plurality of tasks, the configuration file comprises a plurality of configuration subfiles, and different configuration subfiles correspond to different tasks;
generating a pipeline engine system comprising a pipeline interactive interface according to the configuration subfile; the pipeline interaction interface is used for displaying a plurality of tasks corresponding to each continuous integrated pipeline, and at least one task is added or deleted according to a preset instruction.
Preferably, the step of generating a configuration file corresponding to the continuous integrated pipeline of the project in the code management repository Gitlab based on the language type includes:
acquiring the inclusion relation between each step and each task in the continuous integration processing of the project from the basic information;
a configuration file including a plurality of configuration subfiles is generated based on the containment relationship.
Preferably, the step of generating a pipeline engine system including a pipeline interaction interface according to the configuration subfile includes:
analyzing a configuration file containing html rules through an ERB template of Ruby language to generate a configuration sub-file to be rendered;
rendering the configuration sub-file based on the HTML and the Javascript to generate a plurality of pipeline interactive interfaces;
and combining all the pipeline interactive interfaces to generate the pipeline engine system.
Preferably, the step of rendering the configuration sub-file based on HTML and Javascript to generate a plurality of pipeline interaction interfaces includes:
and presenting the encrypted data in the configuration subfile in a hidden form at the pipeline interactive interface.
Preferably, the language type includes node.JS and Java; if the language type is node.JS, the steps comprise code dependency installation, code detection and code generation, wherein the code detection comprises tasks of testing, language checking and release product construction; the code generation includes the task of code quality scanning and image construction.
In a second aspect, the present application provides an apparatus for deploying a pipeline engine system, the apparatus comprising:
the acquisition module is used for acquiring basic information of the project to be continuously integrated; wherein the basic information includes a language type;
the configuration file generation module is used for generating a configuration file corresponding to the continuous integrated pipeline of the project in a code management warehouse Gitlab based on the language type; the continuous integrated pipeline comprises a plurality of different steps, each step corresponds to a plurality of tasks, the configuration file comprises a plurality of configuration subfiles, and different configuration subfiles correspond to different tasks;
the engine system generation module is used for generating a pipeline engine system comprising a pipeline interaction interface according to the configuration subfile; the pipeline interaction interface is used for displaying a plurality of tasks corresponding to each continuous integrated pipeline, and at least one task is added or deleted according to a preset instruction.
Preferably, the configuration file generating module includes:
a relationship acquisition unit configured to acquire, from the basic information, an inclusion relationship between each step and each task in continuous integration processing of the item;
and the configuration file generating unit is used for generating a configuration file comprising a plurality of configuration subfiles based on the inclusion relation.
Preferably, the engine system generating module includes:
the parsing unit is used for parsing the configuration subfiles containing the html rule through the ERB template of the Ruby language to generate configuration subfiles to be rendered;
the rendering unit is used for rendering the configuration sub-file based on the HTML and the Javascript and generating a plurality of pipeline interactive interfaces;
and the combination unit is used for generating the pipeline engine system after combining all the pipeline interactive interfaces.
Preferably, the rendering unit is specifically configured to:
and presenting the encrypted data in the configuration subfile in a hidden form at the pipeline interactive interface.
Preferably, the language type includes node.JS and Java; if the language type is node.JS, the steps comprise code dependency installation, code detection and code generation, wherein the code detection comprises tasks of testing, language checking and release product construction; the code generation includes the task of code quality scanning and image construction.
In a third aspect, the present application provides a method of continuous integration, the method comprising:
determining the language type of the target item;
pushing code of the target item to a pipeline engine system generated by the method according to the first aspect;
screening out a target continuous integrated pipeline of the target item in the pipeline engine system according to the language type;
and performing continuous integration operation on the target item based on the target continuous integration pipeline.
In a fourth aspect, the present application provides a continuously integrated device comprising:
the determining module is used for determining the language type of the target item;
a pushing module, configured to push the code of the target item to the pipeline engine system generated by the method according to the first aspect;
the screening module is used for screening out a target continuous integrated pipeline of the target item in the pipeline engine system according to the language type;
and the execution module is used for executing continuous integration operation on the target item based on the target continuous integration pipeline.
In a fifth aspect, the present application provides an electronic device comprising a processor, a memory and a computer program stored on the memory and executable on the processor, the computer program when executed by the processor implementing a method of deploying a pipeline engine system as defined in any one of the first aspect, or performing a method of continuous integration as defined in the third aspect.
In a sixth aspect, the present application provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the method of deploying a pipeline engine system according to any one of the first aspect, or performs the steps of the method of continuous integration according to the third aspect.
The application has the positive progress effects that: the method and the device for deploying the pipeline engine system based on the Gitleab CI are provided, a configuration file corresponding to a continuous integrated pipeline comprising steps and tasks is generated according to a preset language type, the engine system comprising a pipeline interaction interface is generated by rendering the configuration file, the steps or tasks of the continuous integrated pipeline can be modified in a mode of directly deleting or adding the interactive interface, and the problems that the steps and the tasks in the pipeline are more, the rule file is directly modified, the rule file is extremely complex and the error is extremely easy to occur are solved.
Drawings
FIG. 1 is a first flowchart of a method of deploying a pipeline engine system according to embodiment 1 of the application.
FIG. 2 is a second flowchart of a method of deploying a pipeline engine system according to embodiment 1 of the application.
Fig. 3 is a first interface schematic diagram of a pipeline interactive interface according to embodiment 1 of the present application.
Fig. 4 is a second interface schematic diagram of the pipeline interaction interface in embodiment 1 of the present application.
Fig. 5 is a third interface schematic diagram of the pipeline interaction interface in embodiment 1 of the present application.
Fig. 6 is a fourth interface schematic diagram of a pipeline interactive interface according to embodiment 1 of the present application.
Fig. 7 is a block diagram of an apparatus for deploying a pipeline engine system according to embodiment 2 of the present application.
Fig. 8 is a flowchart of a method of continuous integration according to embodiment 3 of the present application.
Fig. 9 is a schematic block diagram of a continuously integrated device according to embodiment 4 of the present application.
Fig. 10 is a schematic diagram of a hardware structure of an electronic device according to embodiment 5 of the present application.
Detailed Description
The application is further illustrated by means of the following examples, which are not intended to limit the scope of the application.
Example 1
The present embodiment provides a method for deploying a pipeline engine system, as shown in fig. 1, where the method for deploying a pipeline engine system of the present embodiment includes:
step S11, basic information of a project to be continuously integrated is obtained; wherein the basic information includes a language type.
And step S12, generating a configuration file corresponding to the continuous integrated pipeline of the project in the code management warehouse Gitlab based on the language type. The continuous integrated pipeline comprises a plurality of different steps, each step corresponds to a plurality of tasks, the configuration file comprises a plurality of configuration subfiles, and different configuration subfiles correspond to different tasks.
And step S13, generating a pipeline engine system comprising a pipeline interactive interface according to the configuration subfile. The pipeline interaction interface is used for displaying a plurality of tasks corresponding to each continuous integrated pipeline, and at least one task is added or deleted according to a preset instruction.
The language type comprises node.JS and Java; if the language type is node.JS, the steps comprise code dependency installation, code detection and code generation, wherein the code detection comprises tasks of testing, language checking and release product construction; code generation includes the task of code quality scanning and image construction.
Continuous integration refers to the task of frequent integration of project updates by members of a development team, with the developed code being periodically integrated into the system, so that errors integrated in the project are discovered as soon as possible. Continuous integration is a process that continues repeatedly from encoding, building, code scanning, security auditing, to automated testing. The developer adds the newly developed part into the continuous integration pipeline to configure and test step by step according to the program of the continuous integration pipeline until the integration is completed.
In this embodiment, basic information of a project to be continuously integrated is obtained, where the basic information may include a language type corresponding to the project, where the language type is a development language, for example, java language and node.js language, and may also be Python language.
And establishing configuration files corresponding to continuous integrated pipelines corresponding to different language types in a code management warehouse Gitlab based on the language types. For example, the configuration file of the persistent integrated pipeline of the project a developed in Java is a first configuration file, the configuration file of the persistent integrated pipeline of the project B developed in the node.js language is a second configuration file, and the configuration file of the persistent integrated pipeline of the project C developed in Python language is a third configuration file. After the configuration files are modularized, each configuration file comprises a plurality of configuration subfiles, in other words, the first configuration file comprises a plurality of first configuration subfiles, the second configuration file comprises a plurality of second configuration subfiles, the third configuration file comprises a plurality of third configuration subfiles, and tasks corresponding to each configuration subfile are different.
In one possible implementation, the second configuration file includes a second configuration sub-file a, a second configuration sub-file B, a second configuration sub-file C, a second configuration sub-file D, a second configuration sub-file E, a second configuration sub-file F, a second configuration sub-file G, and a second configuration sub-file H. The second configuration sub-file A corresponds to an installation code dependency task, the second configuration sub-file B corresponds to a code detection task, the second configuration sub-file C corresponds to a code generation task, the second configuration sub-file D corresponds to a test task, the second configuration sub-file E corresponds to a language checking task, the second configuration sub-file F corresponds to a release product construction task, the second configuration sub-file G corresponds to a code quality scanning task, and the second configuration sub-file H corresponds to a mirror image construction task.
And after all the configuration subfiles are spliced, generating a pipeline engine system comprising a pipeline interactive interface, wherein each pipeline interactive interface displays each step contained in each continuous integrated pipeline and the task contained in each step. The user can modify the processing flow of each continuous integrated pipeline through preset keys such as New addition, delete deletion and the like through the pipeline interaction interface.
In this embodiment, as shown in fig. 2, in step S12, the method includes:
step S121, acquiring the inclusion relationship between each step and each task in the continuous integration processing of the item from the basic information.
Step S122, generating a configuration file comprising a plurality of configuration subfiles based on the inclusion relation.
And acquiring the relation between each step and each task in the continuous integration process, wherein each task corresponds to one configuration sub-file, and a plurality of different configuration sub-files are combined into one step to construct a configuration file containing the configuration sub-files corresponding to all the tasks.
By way of example, as shown in the visual interface diagrams of fig. 3 to 5, three steps of Install, verifyAndBuild and sona rand Image are set, and an instrument task is configured for the instrument step, a Test, a line and a Build task are configured for verifyo andbd, and a Sonar and Image task are configured for sona rand Image.
In this embodiment, as shown in fig. 2, in step S13, the method includes:
and S131, analyzing the configuration file containing the html rule through an ERB template of the Ruby language to generate a configuration sub-file to be rendered.
And step S132, rendering the configuration sub-file based on the HTML and the Javascript to generate a plurality of pipeline interactive interfaces.
And step S133, combining all the pipeline interactive interfaces to generate a pipeline engine system.
In step S132, the encrypted data in the configuration subfiles are presented in a hidden form at the pipeline interactive interface.
And analyzing yml files with HTML rules configured in a code management warehouse Gitlab through an ERB template of Ruby language, converting the content of the yml files into json type data format, and generating a pipeline interactive interface by Javascript and HTML rendering.
As shown in fig. 6, an interface schematic diagram of the pipeline engine system is deployed to perform continuous integration operation on the projects, and the visual interface can be used to intuitively display the inclusion relationship between each step or task in the continuous integration process of each project. When new steps are deleted or added in the visual interfaces of fig. 3, fig. 4 and fig. 5, execution of the configuration file corresponding to the continuous integration pipeline is not affected. The method solves the problems that the gitlab-ci.yml file is modified directly, is extremely complex and is very easy to make mistakes when the steps or tasks of the continuous integrated pipeline are modified.
It should be noted that, after the encrypted data in the configuration file is subjected to preset processing, the encrypted data is rendered and then displayed in a hidden form, so that the security of a general task in each continuous integrated pipeline is ensured.
The method for deploying the pipeline engine system based on the Gitlab CI comprises the steps and the tasks, generating a configuration file corresponding to a continuous integrated pipeline comprising the steps and the tasks according to a preset language type, rendering the configuration file to generate the engine system comprising a pipeline interactive interface, and modifying the steps or the tasks of the continuous integrated pipeline in a mode of directly deleting or adding the interactive interface, so that the problems that the steps and the tasks in the pipeline are more, the rule file of the Gitlab-ci.yml script is directly modified, and the rule is extremely complex and is extremely prone to error are solved; by hiding the encrypted data in the configuration file, the safety of the general tasks in the continuous integrated pipeline is ensured.
Example 2
As shown in fig. 7, the present embodiment provides an apparatus for deploying a pipeline engine system, which specifically includes: the system comprises an acquisition module 110, a configuration file generation module 120 and an engine system generation module 130, wherein the configuration file generation module 120 comprises a relation acquisition unit 121 and a configuration file generation unit; the engine system generation module 130 includes a parsing unit 131, a rendering unit 132, and a combining unit 133.
The acquiring module 110 is configured to acquire basic information of an item to be continuously integrated; wherein the basic information includes a language type.
A configuration file generating module 120, configured to generate a configuration file corresponding to the continuous integrated pipeline of the project in the code management repository Gitlab based on the language type; the continuous integrated pipeline comprises a plurality of different steps, each step corresponds to a plurality of tasks, the configuration file comprises a plurality of configuration subfiles, and different configuration subfiles correspond to different tasks.
An engine system generating module 130, configured to generate a pipeline engine system including a pipeline interactive interface according to the configuration subfile; the pipeline interaction interface is used for displaying a plurality of tasks corresponding to each continuous integrated pipeline, and at least one task is added or deleted according to a preset instruction.
The language type comprises node.JS and Java; if the language type is node.JS, the steps comprise code dependency installation, code detection and code generation, wherein the code detection comprises tasks of testing, language checking and release product construction; code generation includes the task of code quality scanning and image construction.
Continuous integration refers to the task of frequent integration of project updates by members of a development team, with the developed code being periodically integrated into the system, so that errors integrated in the project are discovered as soon as possible. Continuous integration is a process that continues repeatedly from encoding, building, code scanning, security auditing, to automated testing. The developer adds the newly developed part into the continuous integration pipeline to configure and test step by step according to the program of the continuous integration pipeline until the integration is completed.
In this embodiment, the obtaining module 110 obtains basic information of the project to be continuously integrated, where the basic information may include a language type corresponding to the project, where the language type is a development language, for example, java language and node.js language, and may also be Python language.
The configuration file generation module 120 establishes configuration files corresponding to continuous integrated pipelines corresponding to different language types in the code management warehouse Gitlab based on the language types. For example, the configuration file of the persistent integrated pipeline of the project a developed in Java is a first configuration file, the configuration file of the persistent integrated pipeline of the project B developed in the node.js language is a second configuration file, and the configuration file of the persistent integrated pipeline of the project C developed in Python language is a third configuration file. After the configuration files are modularized, each configuration file comprises a plurality of configuration subfiles, in other words, the first configuration file comprises a plurality of first configuration subfiles, the second configuration file comprises a plurality of second configuration subfiles, the third configuration file comprises a plurality of third configuration subfiles, and tasks corresponding to each configuration subfile are different.
In one possible implementation, the second configuration file includes a second configuration sub-file a, a second configuration sub-file B, a second configuration sub-file C, a second configuration sub-file D, a second configuration sub-file E, a second configuration sub-file F, a second configuration sub-file G, and a second configuration sub-file H. The second configuration sub-file A corresponds to an installation code dependency task, the second configuration sub-file B corresponds to a code detection task, the second configuration sub-file C corresponds to a code generation task, the second configuration sub-file D corresponds to a test task, the second configuration sub-file E corresponds to a language checking task, the second configuration sub-file F corresponds to a release product construction task, the second configuration sub-file G corresponds to a code quality scanning task, and the second configuration sub-file H corresponds to a mirror image construction task.
After all the configuration subfiles are spliced, the engine system generating module 130 generates a pipeline engine system including pipeline interaction interfaces, each of which displays each step included in each of the continuous integrated pipelines, and tasks included in each step. The user can modify the processing flow of each continuous integrated pipeline through preset keys such as New addition, delete deletion and the like through the pipeline interaction interface.
In this embodiment, the configuration file generating module 120 includes:
a relationship acquisition unit 121 for acquiring, from the basic information, an inclusion relationship between each step and each task in the continuous integration processing of the item.
The configuration file generating unit 122 is configured to generate a configuration file including a plurality of configuration subfiles based on the inclusion relationship.
An engine system generation module 130, comprising:
the parsing unit 131 is configured to parse the configuration subfile containing the html rule through an ERB template in Ruby language, and generate a configuration subfile to be rendered.
And the rendering unit 132 is used for rendering the configuration subfiles based on the HTML and the Javascript and generating a plurality of pipeline interactive interfaces.
And the combining unit 133 is configured to combine all pipeline interaction interfaces to generate a pipeline engine system.
The rendering unit 132 is further configured to present the encrypted data in the configuration subfiles in a hidden form at the pipeline interactive interface.
It should be noted that, after the encrypted data in the configuration file is subjected to preset processing, the encrypted data is rendered and then displayed in a hidden form, so that the security of a general task in each continuous integrated pipeline is ensured.
The device for deploying the pipeline engine system based on the Gitlab CI is provided, a configuration file corresponding to a continuous integrated pipeline comprising steps and tasks is generated according to a preset language type, the configuration file is rendered to generate the engine system comprising a pipeline interactive interface, the steps or tasks of the continuous integrated pipeline can be modified in a mode of directly deleting or adding the interactive interface, and the problems that the steps and the tasks in the pipeline are more, the digital integrated pipeline is directly modified, the digital integrated pipeline is abnormally complex and is extremely prone to error are solved; by hiding the encrypted data in the configuration file, the safety of the general tasks in the continuous integrated pipeline is ensured.
Example 3
In this embodiment, a method for continuous integration is provided, as shown in fig. 8, and the method includes:
step S21, determining the language type of the target item.
Step S22, pushing codes of target items to a pipeline engine system; wherein the pipeline engine system is generated using the method of embodiment 1.
And step S33, screening out a target continuous integrated pipeline of the target item in the pipeline engine system according to the language type.
Step S34, the continuous integration operation is executed on the target item based on the target continuous integration pipeline.
When code quality detection or application image generation is required for a target item, the language type of the target item is acquired, the target item is pushed to a pipeline engine system generated according to the method of the embodiment 1, and then the workflow of a pipeline of the target item is determined according to the language type. For example, for node.js applications, the workflow of the pipeline may be to install code dependencies, run unit tests, grammar checking of code, build deployment products, code quality scans, generate images, etc. And executing corresponding integrated operation according to the workflow of the defined pipeline.
The continuous integration method is provided, the workflow of a continuous integration pipeline constructed in a preset pipeline engine system is executed according to a preset language type, the pipeline engine system can directly modify steps and tasks of the workflow through a visual interface, and the problems that a. Gitlab-ci.yml script file is directly modified, is extremely complex and is extremely prone to error when more steps and tasks are in the pipeline are solved.
Example 4
In this embodiment, a continuously integrated device is provided, as shown in fig. 9, and the device includes: a determination module 210, a push module 220, a screening module 230, and an execution module 240.
Wherein, the determining module 210 is configured to determine a language type of the target item.
A pushing module 220, configured to push the code of the target item to the pipeline engine system; wherein the pipeline engine system is generated using the method of embodiment 1.
And the screening module 230 is used for screening the target continuous integrated pipeline of the target item in the pipeline engine system according to the language type.
An execution module 240 for performing a continuous integration operation on the target item based on the target continuous integration pipeline.
When code quality detection or application image generation is required for the target item, the determining module 210 obtains the language type of the target item, and after the pushing module 220 pushes the target item to the pipeline engine system generated according to the method of embodiment 1, the filtering module 230 determines the workflow of the pipeline of the target item according to the language type. For example, for node.js applications, the pipeline workflow may be code dependent for installation, run unit testing, grammar checking of code, deployment product construction, code quality scanning, mirror image generation, etc., with corresponding persistent integration operations being performed according to the defined pipeline workflow.
The continuous integrated device is provided, the workflow of a continuous integrated pipeline constructed in a preset pipeline engine system is executed according to a preset language type, the pipeline engine system can directly modify steps and tasks of the workflow through a visual interface, and the problems that a gitlab-ci.yml script file is directly modified, is extremely complex and is extremely prone to error when more steps and tasks are in the pipeline are solved.
Example 5
The present embodiment provides an electronic device, which may be expressed in the form of a computing device (for example, may be a server device), including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor may implement the method for deploying a pipeline engine system of embodiment 1 or the method for continuously integrating of embodiment 3 when executing the computer program.
Fig. 10 shows a schematic diagram of the hardware structure of the present embodiment, and as shown in fig. 10, the electronic device 9 specifically includes:
at least one processor 91, at least one memory 92, and a bus 93 for connecting the different system components (including the processor 91 and the memory 92), wherein:
the bus 93 includes a data bus, an address bus, and a control bus.
The memory 92 includes volatile memory such as Random Access Memory (RAM) 921 and/or cache memory 922, and may further include Read Only Memory (ROM) 923.
Memory 92 also includes a program/utility 925 having a set (at least one) of program modules 924, such program modules 924 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
The processor 91 executes various functional applications and data processing, such as the method of deploying a pipeline engine system of embodiment 1 of the present application or the method of continuing integration of embodiment 3, by running a computer program stored in the memory 92.
The electronic device 9 may further communicate with one or more external devices 94 (e.g., keyboard, pointing device, etc.). Such communication may occur through an input/output (I/O) interface 95. Also, the electronic device 9 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet, through a network adapter 96. The network adapter 96 communicates with other modules of the electronic device 9 via the bus 93. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in connection with the electronic device 9, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (disk array) systems, tape drives, data backup storage systems, and the like.
It should be noted that although several units/modules or sub-units/modules of an electronic device are mentioned in the above detailed description, such a division is merely exemplary and not mandatory. Indeed, the features and functionality of two or more units/modules described above may be embodied in one unit/module in accordance with embodiments of the present application. Conversely, the features and functions of one unit/module described above may be further divided into ones that are embodied by a plurality of units/modules.
Example 6
The present embodiment provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the method of deploying a pipeline engine system of 1 or the steps of the method of sustained integration of embodiment 3.
More specifically, among others, readable storage media may be employed including, but not limited to: portable disk, hard disk, random access memory, read only memory, erasable programmable read only memory, optical storage device, magnetic storage device, or any suitable combination of the foregoing.
In a possible embodiment, the application may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps of the method of deploying a pipeline engine system of embodiment 1 or the steps of the method of sustained integration of embodiment 3, when said program product is run on the terminal device.
Wherein the program code for carrying out the application may be written in any combination of one or more programming languages, which program code may execute entirely on the user device, partly on the user device, as a stand-alone software package, partly on the user device and partly on the remote device or entirely on the remote device.
While specific embodiments of the application have been described above, it will be appreciated by those skilled in the art that this is by way of example only, and the scope of the application is defined by the appended claims. Various changes and modifications to these embodiments may be made by those skilled in the art without departing from the principles and spirit of the application, but such changes and modifications fall within the scope of the application.

Claims (10)

1. A method of deploying a pipeline engine system, the method comprising:
acquiring basic information of an item to be continuously integrated; wherein the basic information includes a language type;
generating a configuration file corresponding to the continuous integrated pipeline of the project in a code management warehouse Gitlab based on the language type; the continuous integrated pipeline comprises a plurality of different steps, each step corresponds to a plurality of tasks, the configuration file comprises a plurality of configuration subfiles, and different configuration subfiles correspond to different tasks;
generating a pipeline engine system comprising a pipeline interactive interface according to the configuration subfile; the pipeline interaction interface is used for displaying a plurality of tasks corresponding to each continuous integrated pipeline, and adding or deleting at least one task according to a preset instruction;
the configuration file is a configuration file containing html rules;
if the language type is node.JS, the steps comprise code dependency installation, code detection and code generation, wherein the code detection comprises tasks of testing, language checking and release product construction; the code generation includes the task of code quality scanning and image construction.
2. The method of deploying a pipeline engine system of claim 1 wherein the step of generating a configuration file corresponding to a persistent integrated pipeline of the project in a code management warehouse Gitlab based on the language type comprises:
acquiring the inclusion relation between each step and each task in the continuous integration processing of the project from the basic information;
a configuration file including a plurality of configuration subfiles is generated based on the containment relationship.
3. The method of deploying a pipeline engine system of claim 1 wherein the step of generating a pipeline engine system comprising a pipeline interactive interface from the configuration subfile comprises:
analyzing a configuration file containing html rules through an ERB template of Ruby language to generate a configuration sub-file to be rendered;
rendering the configuration sub-file based on the HTML and the Javascript to generate a plurality of pipeline interactive interfaces;
and combining all the pipeline interactive interfaces to generate the pipeline engine system.
4. The method of deploying a pipeline engine system of claim 3 wherein the step of rendering the configuration subfile based on HTML and Javascript to generate a plurality of pipeline interaction interfaces comprises:
and presenting the encrypted data in the configuration subfile in a hidden form at the pipeline interactive interface.
5. The method of deploying a pipeline engine system of claim 1 wherein the language type comprises Java.
6. An apparatus for deploying a pipeline engine system, the apparatus comprising:
the acquisition module is used for acquiring basic information of the project to be continuously integrated; wherein the basic information includes a language type;
the configuration file generation module is used for generating a configuration file corresponding to the continuous integrated pipeline of the project in a code management warehouse Gitlab based on the language type; the continuous integrated pipeline comprises a plurality of different steps, each step corresponds to a plurality of tasks, the configuration file comprises a plurality of configuration subfiles, and different configuration subfiles correspond to different tasks;
the engine system generation module is used for generating a pipeline engine system comprising a pipeline interaction interface according to the configuration subfile; the pipeline interaction interface is used for displaying a plurality of tasks corresponding to each continuous integrated pipeline, and adding or deleting at least one task according to a preset instruction;
the configuration file is a configuration file containing html rules;
if the language type is node.JS, the device comprises a code dependency installation, a code detection and a code generation, wherein the code detection comprises tasks of testing, language checking and release product construction; the code generation includes the task of code quality scanning and image construction.
7. A method of continuous integration, the method comprising:
determining the language type of the target item;
pushing code of the target item to a pipeline engine system generated by the method of claim 1;
screening out a target continuous integrated pipeline of the target item in the pipeline engine system according to the language type;
and performing continuous integration operation on the target item based on the target continuous integration pipeline.
8. A continuously integrated device, the device comprising:
the determining module is used for determining the language type of the target item;
a pushing module, configured to push the code of the target item to the pipeline engine system generated by the method according to claim 1;
the screening module is used for screening out a target continuous integrated pipeline of the target item in the pipeline engine system according to the language type;
and the execution module is used for executing continuous integration operation on the target item based on the target continuous integration pipeline.
9. An electronic device comprising a processor, a memory, and a computer program stored on the memory and executable on the processor, which when executed by the processor, implements the method of deploying a pipeline engine system according to any one of claims 1-5, or performs the method of continuous integration according to claim 7.
10. A computer readable storage medium, having stored thereon a computer program which, when executed by a processor, implements the steps of the method of deploying a pipeline engine system according to any one of claims 1-5 or performs the steps of the method of continuous integration according to claim 7.
CN202011472000.3A 2020-12-14 2020-12-14 Method for deploying pipeline engine system, and method and device for continuous integration Active CN112527382B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011472000.3A CN112527382B (en) 2020-12-14 2020-12-14 Method for deploying pipeline engine system, and method and device for continuous integration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011472000.3A CN112527382B (en) 2020-12-14 2020-12-14 Method for deploying pipeline engine system, and method and device for continuous integration

Publications (2)

Publication Number Publication Date
CN112527382A CN112527382A (en) 2021-03-19
CN112527382B true CN112527382B (en) 2023-12-12

Family

ID=74999803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011472000.3A Active CN112527382B (en) 2020-12-14 2020-12-14 Method for deploying pipeline engine system, and method and device for continuous integration

Country Status (1)

Country Link
CN (1) CN112527382B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434264B (en) * 2021-07-14 2022-08-05 上海浦东发展银行股份有限公司 Intelligent processing method, device, equipment and storage medium for task components
CN114546473A (en) * 2022-02-23 2022-05-27 北京金堤科技有限公司 Method and device for automatically and integrally deploying service, electronic equipment and storage medium
CN116931965B (en) * 2023-09-18 2023-11-17 无锡雪浪数制科技有限公司 Integrated stream processing method, device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423960A (en) * 2013-09-10 2015-03-18 阿里巴巴集团控股有限公司 Continuous project integration method and continuous project integration system
US10120670B1 (en) * 2018-03-28 2018-11-06 Capital One Services, Llc Systems and methods for building generic CI/CD pipelines
CN111488136A (en) * 2020-04-07 2020-08-04 携程旅游网络技术(上海)有限公司 Continuous integration and continuous delivery method, system, device and storage medium
CN112068874A (en) * 2020-07-30 2020-12-11 深圳市优必选科技股份有限公司 Software project continuous integration method and device, terminal equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683430B2 (en) * 2011-01-07 2014-03-25 International Business Machines Corporation Synchronizing development code and deployed executable versioning within distributed systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423960A (en) * 2013-09-10 2015-03-18 阿里巴巴集团控股有限公司 Continuous project integration method and continuous project integration system
US10120670B1 (en) * 2018-03-28 2018-11-06 Capital One Services, Llc Systems and methods for building generic CI/CD pipelines
CN111488136A (en) * 2020-04-07 2020-08-04 携程旅游网络技术(上海)有限公司 Continuous integration and continuous delivery method, system, device and storage medium
CN112068874A (en) * 2020-07-30 2020-12-11 深圳市优必选科技股份有限公司 Software project continuous integration method and device, terminal equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种面向数值模拟软件的持续集成平台;单雅辉;刘青凯;杨章;田鸿运;邹勇刚;;计算机辅助工程(第03期);全文 *

Also Published As

Publication number Publication date
CN112527382A (en) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112527382B (en) Method for deploying pipeline engine system, and method and device for continuous integration
US11487539B2 (en) Systems and methods for automating and monitoring software development operations
US8010946B2 (en) Apparatus for analysing and organizing artifacts in a software application
US7526759B2 (en) Debugging prototyped system solutions in solution builder wizard environment
US20200285567A1 (en) Employing code overlays to facilitate software development
US8549483B1 (en) Engine for scalable software testing
US8881109B1 (en) Runtime documentation of software testing
US10339029B2 (en) Automatically detecting internalization (i18n) issues in source code as part of static source code analysis
US20170228220A1 (en) Self-healing automated script-testing tool
US10877846B2 (en) Performing a closure merge operation
US20140059513A1 (en) Creation and Uploading of Archives for Software Projects to Submission Portal
CN111881054B (en) User interface automatic test method, system, equipment and storage medium
CN111767208B (en) Automatic test method and device
US20190303116A1 (en) Code Correction
US11301245B2 (en) Detecting bias in artificial intelligence software by analysis of source code contributions
US20140006980A1 (en) Interactive development and testing message models
US11119761B2 (en) Identifying implicit dependencies between code artifacts
CN112328473A (en) Code automation integration test method and device and electronic equipment
CN115543391B (en) Application platform upgrading method and device, electronic equipment and readable storage medium
US11829230B2 (en) Globally unique error codes for knowledge document indexing in software systems
CN116204219A (en) Processing method for software version update, electronic equipment and storage medium
Whitener et al. The ERSDT Software Quality Assurance Plan Practices and Development Environment Setup for RASCAL 5
CN115658374A (en) Method and device for repairing platform compatibility problem, electronic equipment and storage medium
CN113742240A (en) User interface testing method and device, storage medium and electronic equipment
CN114860597A (en) Method, device, equipment and storage medium for determining code coverage rate

Legal Events

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