CN113313353A - Continuous delivery pipeline management method and device - Google Patents

Continuous delivery pipeline management method and device Download PDF

Info

Publication number
CN113313353A
CN113313353A CN202110456366.XA CN202110456366A CN113313353A CN 113313353 A CN113313353 A CN 113313353A CN 202110456366 A CN202110456366 A CN 202110456366A CN 113313353 A CN113313353 A CN 113313353A
Authority
CN
China
Prior art keywords
task
continuous delivery
execution
pipeline
tasks
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
CN202110456366.XA
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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202110456366.XA priority Critical patent/CN113313353A/en
Publication of CN113313353A publication Critical patent/CN113313353A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Manufacturing & Machinery (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present application relates to the field of project integration technologies, and in particular, to a method and an apparatus for managing a continuous delivery pipeline. The method is applied to a pipeline management device which is docked with a plurality of continuous delivery tools, and comprises the following steps: constructing a continuous delivery pipeline, and defining execution rules of each task included in the continuous delivery pipeline; if the continuous delivery pipeline execution command is monitored, determining each target task to be executed at the current stage and a continuous delivery tool corresponding to each target task to be executed at the current stage based on the execution rule of each task; and respectively sending each target task to a corresponding continuous delivery tool so that the continuous delivery tool executes the received target task.

Description

Continuous delivery pipeline management method and device
Technical Field
The present application relates to the field of project integration technologies, and in particular, to a method and an apparatus for managing a continuous delivery pipeline.
Background
In medium and large-scale IT research and development organizations, the technical directions of different departments are different, and in order to improve the respective efficiency, the continuous delivery tools and the processes used are also greatly different. Such as traditional persistent delivery tools (Jenkins, gillab CI, etc.) that desktop applications and hardware-driven development application teams still use; the server team adopts the latest cloud native and micro-service technology, and uses a solution continuous delivery scheme (Tekton, Knaive Build, etc.) based on the container cloud; while open source component contribution and maintenance teams use persistent delivery services (Github Actions, Travis CI, etc.) on the public cloud. In the complex scenario described above, it is extremely difficult to uniformly maintain and manage these environments at the overall organizational level. In addition, data of a continuous delivery pipeline is key data for research and development efficiency analysis and quantitative management, and the data are dispersed in a plurality of independent heterogeneous environments, so that uniform collection, analysis and measurement are also huge challenges. In addition, the traditional continuous delivery tool is difficult to expand horizontally, and for large and medium organizations, a plurality of independent Jenkins services are generally needed to segment the continuous delivery business requirements according to different teams or different task types.
Disclosure of Invention
The application provides a continuous delivery assembly line management method and device, which are used for solving the problem that continuous delivery service under a large-scale continuous delivery scene cannot be comprehensively managed in the prior art.
In a first aspect, the present application provides a continuous delivery pipeline management method, applied to a pipeline management device, where the pipeline management device is docked with a plurality of continuous delivery tools, the method including:
constructing a continuous delivery pipeline, and defining execution rules of each task included in the continuous delivery pipeline;
if the continuous delivery pipeline execution command is monitored, determining each target task to be executed at the current stage and a continuous delivery tool corresponding to each target task to be executed at the current stage based on the execution rule of each task;
and respectively sending each target task to a corresponding continuous delivery tool so that the continuous delivery tool executes the received target task.
Optionally, the step of building a continuous delivery pipeline and defining the execution rules of each task included in the continuous delivery pipeline comprises:
receiving a task selection instruction input by a user through a visual arrangement tool, and determining each task included in the continuous delivery pipeline;
receiving the execution conditions of each task input by a user through a visual arrangement tool, and defining the execution rules of each task.
Optionally, the execution rule of each task at least includes a time sequence relation for executing each task, a task type of each task, and a continuous delivery tool required for executing each task;
the types of the tasks comprise: compiling and constructing tasks, deploying upgrading tasks, code checking tasks, automatic testing tasks and manual auditing tasks.
Optionally, the method further comprises:
sending a control command to each continuous delivery tool, wherein the control command is a cancel execution command and a query state command;
receiving data corresponding to feedback of each continuous delivery tool based on the received control command, and if the control command is an execution cancelling command, cancelling a currently executed task and feeding back a result when the continuous delivery tool receives the control command; and if the control command is a state query command, acquiring and feeding back the running log when the continuous delivery tool receives the control command.
Optionally, the method further comprises:
receiving task execution results fed back by each continuous delivery tool;
if the currently executed task fails to be executed and is determined to be a key task based on a task execution result fed back by a continuous delivery tool, terminating each currently executed task included in the continuous delivery pipeline, and ending the continuous delivery pipeline;
and if the fact that all the tasks included in the continuous delivery pipeline are successfully executed is determined based on the task results fed back by all the continuous delivery tools, the fact that the continuous delivery pipeline is completely executed is determined.
In a second aspect, the present application provides a continuous delivery pipeline management device, which is applied to a pipeline management device, the pipeline management device is docked with a plurality of continuous delivery tools, and the device includes:
the construction unit is used for constructing a continuous delivery pipeline and defining execution rules of all tasks included in the continuous delivery pipeline;
the determining unit is used for determining each target task to be executed at the current stage and executing the continuous delivery tool corresponding to each target task respectively based on the execution rule of each task if the continuous delivery pipeline execution command is monitored;
and the sending unit is used for respectively sending each target task to the corresponding continuous delivery tool so that the continuous delivery tool can execute the received target task.
Optionally, when a persistent delivery pipeline is built and an execution rule of each task included in the persistent delivery pipeline is defined, the building unit is specifically configured to:
receiving a task selection instruction input by a user through a visual arrangement tool, and determining each task included in the continuous delivery pipeline;
receiving the execution conditions of each task input by a user through a visual arrangement tool, and defining the execution rules of each task.
Optionally, the execution rule of each task at least includes a time sequence relation for executing each task, a task type of each task, and a continuous delivery tool required for executing each task;
the types of the tasks comprise: compiling and constructing tasks, deploying upgrading tasks, code checking tasks, automatic testing tasks and manual auditing tasks.
Optionally, the apparatus further comprises a receiving unit:
the sending unit is further configured to send a control command to each continuous delivery tool, where the control command is a cancel execution instruction and a query status instruction;
the receiving unit is used for receiving data corresponding to feedback of each continuous delivery tool based on the received control command, and if the control command is an execution cancellation command, the continuous delivery tool cancels the currently executed task and feeds back a result when receiving the control command; and if the control command is a state query command, acquiring and feeding back the running log when the continuous delivery tool receives the control command.
Optionally, the apparatus further comprises an execution unit:
the receiving unit is further used for receiving the task execution results fed back by each continuous delivery tool;
if the currently executed task is determined to be failed to execute based on a task execution result fed back by a continuous delivery tool and the task is a key task, the execution unit is used for terminating each currently executed task included in the continuous delivery pipeline and finishing the continuous delivery pipeline;
and if the execution unit determines that all the tasks included in the continuous delivery pipeline are successfully executed based on the task results fed back by all the continuous delivery tools, the execution unit is used for determining that the continuous delivery pipeline is completely executed.
In a third aspect, an embodiment of the present application provides a continuous delivery pipeline management apparatus, including:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory and for executing the steps of the method according to any one of the above first aspects in accordance with the obtained program instructions.
In a fourth aspect, the present application further provides a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the steps of the method according to any one of the above first aspects.
To sum up, the continuous delivery pipeline management method provided by the embodiment of the present application is applied to a pipeline management device, the pipeline management device is docked with a plurality of continuous delivery tools, and the method includes: constructing a continuous delivery pipeline, and defining execution rules of each task included in the continuous delivery pipeline; if the continuous delivery pipeline execution command is monitored, determining each target task to be executed at the current stage and a continuous delivery tool corresponding to each target task to be executed at the current stage based on the execution rule of each task; and respectively sending each target task to a corresponding continuous delivery tool so that the continuous delivery tool executes the received target task.
By adopting the continuous delivery pipeline management method provided by the embodiment of the application, the pipeline management equipment is accessed to various continuous delivery tools of different types, can be used as a centralized service to be responsible for the collection and maintenance of all metadata, can be horizontally expanded to support large-scale use scenes, and solves the problems of dispersion and disorder of key data of research and development efficiency analysis and quantitative management in complex research and development organizations and difficulty in unified management and display. The assembly line management equipment can support various heterogeneous continuous delivery tools and service environments by using the docking service, and can fully utilize the advantages of various continuous delivery tools to meet different requirements. Tasks programmed into the pipeline may be selected to be scheduled for execution to the most appropriate underlying environment.
Furthermore, the pipeline management equipment supports flexible planning of a bottom layer continuous delivery environment and is easy to expand. According to the actual situation of organization, independent bottom layer operation environments can be divided for each team, and bottom layer resource safety isolation is achieved. For existing environments, only the docking service needs to be installed for integration into the pipeline management device. The design provides the ability to expand on new task types and new underlying native persistent delivery services. And when a new bottom layer continuous delivery service needs to be docked, only one docking service needs to be newly realized.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments of the present application or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art according to the drawings of the embodiments of the present application.
FIG. 1 is a detailed flowchart of a method for continuous delivery pipeline management according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a continuous delivery pipeline scheduling process according to an embodiment of the present application;
FIG. 3 is a schematic structural diagram of a continuous delivery pipeline management system according to an embodiment of the present disclosure;
FIG. 4 is a schematic structural diagram of a persistent delivery pipeline management apparatus according to an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of another persistent delivery pipeline management apparatus according to an embodiment of the present application.
Detailed Description
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein is meant to encompass any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in the embodiments of the present application to describe various information, the information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. Depending on the context, moreover, the word "if" as used may be interpreted as "at … …" or "when … …" or "in response to a determination".
Illustratively, referring to fig. 1, a detailed flowchart of a method for continuous delivery pipeline management provided by an embodiment of the present application, the method is applied to a pipeline management device, the pipeline management device is interfaced with a plurality of continuous delivery tools, and the method includes the following steps: 9
Step 100: a persistent delivery pipeline is built, and execution rules of tasks included in the persistent delivery pipeline are defined.
Specifically, in the embodiment of the present application, when a continuous delivery pipeline is constructed and an execution rule of each task included in the continuous delivery pipeline is defined, a preferred embodiment is that a task selection instruction input by a user through a visualization orchestration tool is received, and each task included in the continuous delivery pipeline is determined; receiving the execution conditions of each task input by a user through a visual arrangement tool, and defining the execution rules of each task.
That is, the pipeline management apparatus provides a visual arrangement tool through which a user/administrator can construct a continuous delivery pipeline, and defines the execution condition rules of the tasks included in the continuous delivery pipeline.
In the embodiment of the application, the execution rule of each task at least comprises a time sequence relation for executing each task, a task type of each task, and a continuous delivery tool required for executing each task; the types of the tasks comprise: compiling and constructing tasks, deploying upgrading tasks, code checking tasks, automatic testing tasks and manual auditing tasks.
In practical application, a persistent delivery pipeline essentially combines and arranges a group of persistently related tasks, and strictly sets the execution sequence and the execution time of the tasks. The definition process of the pipeline is also the selection and arrangement process of the tasks contained in the pipeline. The definition format of the pipeline refers to a specific syntax format for expressing the task timing combination. The persistent delivery pipeline format definition contains the following concepts:
stage (Stage), which is a plurality of time spans forming a pipeline, has strict time sequence relation between stages, and the next Stage is not executed until all the work in the previous Stage is executed.
Task (Job): the work content and task actually executed in each stage are the units of independent scheduling and execution. Each stage may contain many different types of tasks, and tasks in the same stage may be executed in parallel or in series. The invention realizes various common task types, including compiling and constructing tasks, deploying and upgrading tasks, code checking tasks, automatic testing tasks, manual auditing tasks and the like. Meanwhile, a mechanism for self-defining the task type extension is provided, and a user can define and package a specific authentication type according to the requirement.
Step (Step)): in order to facilitate the user to develop a custom type task, the persistent delivery pipeline management device also provides commonly used task steps, and the user can combine the steps into a task with an independent business function, for example, a task for completing a compiling and building function, which generally needs to be composed of the following steps: code detection, dependency installation, construction command execution, command measurement by an execution unit, and archiving and storing of a construction product.
For example, referring to fig. 2, a schematic diagram of a continuous delivery pipeline orchestration process provided in an embodiment of the present application is shown, where a continuous delivery pipeline may include a build stage, a development verification stage, an integration verification stage, and an issue stage, where the build stage may include a build task, a code static check task, and an application package security check; the development and verification stage can comprise a deployment task and an automatic test and verification task; the integrated verification stage can comprise a deployment task, an automatic integrated test task, a safety test task and a performance test task; the release phase may include manual approval tasks, production environment deployment upgrades.
Step 110: and if the continuous delivery pipeline execution command is monitored, determining each target task to be executed at the current stage and a continuous delivery tool corresponding to each target task to be executed at the current stage based on the execution rule of each task.
In practical application, the continuous delivery pipeline management device may include a pipeline triggering module and a pipeline execution scheduling module, wherein the pipeline triggering module monitors a triggering request, starts pipeline execution once, creates an execution record according to a construction parameter specified during triggering and a definition of a pipeline, and adds the execution record to a waiting running queue, the pipeline execution scheduling module analyzes the pipeline definition after receiving the execution record from the waiting queue, calculates a task that can be run and a running environment to be actually issued, and then issues the task definition and the running parameter to a docking service of a corresponding environment, where the docking service of the corresponding environment refers to each continuous delivery tool accessing the pipeline management device.
In the embodiment of the application, when monitoring a continuous delivery pipeline execution command, the pipeline management device firstly determines each target task required to be executed at the current stage, then determines a continuous delivery tool required to execute the target task according to an execution condition of each target task, and finally sends the target task to the corresponding continuous delivery tool to perform task execution operation.
For example, assuming that the pipeline management device determines that tasks required to be executed at the current stage are task 1, task 2 and task 3, and determines that the continuous delivery tool executing task 1 is continuous delivery tool a according to the execution condition of task 1, task 1 may be sent to continuous delivery tool a, and task 1 is executed by continuous delivery tool a, and similarly, determines that the continuous delivery tool executing task 2 is continuous delivery tool B according to the execution condition of task 2, task 2 may be sent to continuous delivery tool B, task 2 is executed by continuous delivery tool B, and the continuous delivery tool executing task 3 is continuous delivery tool C according to the execution condition of task 3, and task 3 may be sent to continuous delivery tool C, and task 3 is executed by continuous delivery tool C.
Step 120: and respectively sending each target task to a corresponding continuous delivery tool so that the continuous delivery tool executes the received target task.
Specifically, each continuous delivery tool monitors a target task issued by the pipeline management device, converts the general task definition and the execution data into a native task definition of the target continuous delivery system, and controls the running process of the native task definition in the target continuous delivery environment. The system can also communicate with the pipeline management equipment, receive and execute control operations such as cancel execution, state query and the like, and collect and report generated data such as logs, events and the like to the pipeline management equipment in the target task execution process.
Further, in this embodiment of the present application, the method for managing a continuous delivery pipeline further includes the following steps:
sending a control command to each continuous delivery tool, wherein the control command is a cancel execution command and a query state command; receiving data corresponding to feedback of each continuous delivery tool based on the received control command, and if the control command is an execution cancelling command, cancelling a currently executed task and feeding back a result when the continuous delivery tool receives the control command; and if the control command is a state query command, acquiring and feeding back the running log when the continuous delivery tool receives the control command.
That is, in the process of executing the task by the continuous delivery tool, the pipeline management device may issue a control command, such as a command to cancel execution of the current task, a task execution status query command, to each continuous delivery tool according to an instruction input by the user. And after receiving the control command issued by the pipeline management equipment, the continuous delivery tool executes the received control command and feeds back an execution result.
Furthermore, in this embodiment of the present application, the method for continuous delivery pipeline management further includes the following steps:
receiving task execution results fed back by each continuous delivery tool; if the currently executed task fails to be executed and is determined to be a key task based on a task execution result fed back by a continuous delivery tool, terminating each currently executed task included in the continuous delivery pipeline, and ending the continuous delivery pipeline; and if the fact that all the tasks included in the continuous delivery pipeline are successfully executed is determined based on the task results fed back by all the continuous delivery tools, the fact that the continuous delivery pipeline is completely executed is determined.
That is, if it is determined that one of the critical tasks fails to be executed, the pipeline management device may execute subsequent operations based on the preset rule, and if the preset rule indicates that the critical task fails to be executed and each currently executed task is terminated, a command for terminating the current task needs to be issued to each of the persistent delivery tools. And if the current stage is the last stage, determining that all tasks corresponding to the continuous delivery pipeline are executed completely, and ending the continuous delivery pipeline.
The following describes in detail the continuous delivery pipeline management system provided in the embodiment of the present application with reference to a specific scenario, and for example, refer to fig. 3, which is a schematic structural diagram of the continuous delivery pipeline management system provided in the embodiment of the present application, where each continuous delivery tool may be a kubernets docking service, a Jenkins docking plug-in, or another continuous delivery tool; the pipeline management device may include the following functional attributes: the method comprises the following steps of general assembly line arrangement definition and analysis, assembly line visual arrangement tools, various types of self-triggering management, scheduling control and state management, report and measurement data collection and management, log execution and time acquisition and management, task execution environment discovery management, task type and docking environment expansion, and assembly line management equipment is not directly responsible for specific execution of tasks, but executes management scheduling of each task of an assembly line in an adapter mode, and completes specific execution of each task by each continuous delivery tool accessing the assembly line management equipment.
Illustratively, referring to fig. 4, a schematic structural diagram of a continuous delivery pipeline management apparatus provided for the embodiment of the present application, the apparatus is applied to a pipeline management device, the pipeline management device is interfaced with a plurality of continuous delivery tools, and the apparatus includes:
a building unit 40 configured to build a persistent delivery pipeline and define execution rules of each task included in the persistent delivery pipeline;
a determining unit 41, configured to determine, based on an execution rule of each task, each target task to be executed at a current stage and a continuous delivery tool corresponding to each target task to be executed when the continuous delivery pipeline execution command is monitored;
a sending unit 42, configured to send each target task to a corresponding sustained delivery tool, so that the sustained delivery tool executes the received target task.
Optionally, when a persistent delivery pipeline is built and an execution rule of each task included in the persistent delivery pipeline is defined, the building unit 40 is specifically configured to:
receiving a task selection instruction input by a user through a visual arrangement tool, and determining each task included in the continuous delivery pipeline;
receiving the execution conditions of each task input by a user through a visual arrangement tool, and defining the execution rules of each task.
Optionally, the execution rule of each task at least includes a time sequence relation for executing each task, a task type of each task, and a continuous delivery tool required for executing each task;
the types of the tasks comprise: compiling and constructing tasks, deploying upgrading tasks, code checking tasks, automatic testing tasks and manual auditing tasks.
Optionally, the apparatus further comprises a receiving unit:
the sending unit 42 is further configured to send a control command to each continuous delivery tool, where the control command is a cancel execution instruction and an inquiry status instruction;
the receiving unit is used for receiving data corresponding to feedback of each continuous delivery tool based on the received control command, and if the control command is an execution cancellation command, the continuous delivery tool cancels the currently executed task and feeds back a result when receiving the control command; and if the control command is a state query command, acquiring and feeding back the running log when the continuous delivery tool receives the control command.
Optionally, the apparatus further comprises an execution unit:
the receiving unit is further used for receiving the task execution results fed back by each continuous delivery tool;
if the currently executed task is determined to be failed to execute based on a task execution result fed back by a continuous delivery tool and the task is a key task, the execution unit is used for terminating each currently executed task included in the continuous delivery pipeline and finishing the continuous delivery pipeline;
and if the execution unit determines that all the tasks included in the continuous delivery pipeline are successfully executed based on the task results fed back by all the continuous delivery tools, the execution unit is used for determining that the continuous delivery pipeline is completely executed.
The above units may be one or more integrated circuits configured to implement the above methods, for example: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), among others. For another example, when one of the above units is implemented in the form of a Processing element scheduler code, the Processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Further, in the persistent delivery pipeline management apparatus provided in this embodiment of the present application, from a hardware aspect, a schematic diagram of a hardware architecture of the persistent delivery pipeline management apparatus may be shown in fig. 5, where the persistent delivery pipeline management apparatus may include: a memory 50 and a processor 51, which,
the memory 50 is used for storing program instructions; the processor 51 calls the program instructions stored in the memory 50 and executes the above-described method embodiments according to the obtained program instructions. The specific implementation and technical effects are similar, and are not described herein again.
Optionally, the present application also provides a pipeline management device, including at least one processing element (or chip) for performing the above method embodiments.
Optionally, the present application also provides a program product, such as a computer-readable storage medium, having stored thereon computer-executable instructions for causing the computer to perform the above-described method embodiments.
Here, a machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and so forth. For example, the machine-readable storage medium may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Furthermore, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (10)

1. A continuous delivery pipeline management method is applied to a pipeline management device, the pipeline management device is docked with a plurality of continuous delivery tools, and the method comprises the following steps:
constructing a continuous delivery pipeline, and defining execution rules of each task included in the continuous delivery pipeline;
if the continuous delivery pipeline execution command is monitored, determining each target task to be executed at the current stage and a continuous delivery tool corresponding to each target task to be executed at the current stage based on the execution rule of each task;
and respectively sending each target task to a corresponding continuous delivery tool so that the continuous delivery tool executes the received target task.
2. The method of claim 1, wherein the step of building a continuous delivery pipeline and defining execution rules for each task included in the continuous delivery pipeline comprises:
receiving a task selection instruction input by a user through a visual arrangement tool, and determining each task included in the continuous delivery pipeline;
receiving the execution conditions of each task input by a user through a visual arrangement tool, and defining the execution rules of each task.
3. The method according to claim 1 or 2, wherein the execution rule of each task at least comprises a time sequence relation for executing each task, a task type of each task, and a continuous delivery tool required for executing each task;
the types of the tasks comprise: compiling and constructing tasks, deploying upgrading tasks, code checking tasks, automatic testing tasks and manual auditing tasks.
4. The method of claim 1 or 2, wherein the method further comprises:
sending a control command to each continuous delivery tool, wherein the control command is a cancel execution command and a query state command;
receiving data corresponding to feedback of each continuous delivery tool based on the received control command, and if the control command is an execution cancelling command, cancelling a currently executed task and feeding back a result when the continuous delivery tool receives the control command; and if the control command is a state query command, acquiring and feeding back the running log when the continuous delivery tool receives the control command.
5. The method of claim 1 or 2, wherein the method further comprises:
receiving task execution results fed back by each continuous delivery tool;
if the currently executed task fails to be executed and is determined to be a key task based on a task execution result fed back by a continuous delivery tool, terminating each currently executed task included in the continuous delivery pipeline, and ending the continuous delivery pipeline;
and if the fact that all the tasks included in the continuous delivery pipeline are successfully executed is determined based on the task results fed back by all the continuous delivery tools, the fact that the continuous delivery pipeline is completely executed is determined.
6. A continuous delivery pipeline management device is applied to a pipeline management device, the pipeline management device is butted with a plurality of continuous delivery tools, and the device comprises:
the construction unit is used for constructing a continuous delivery pipeline and defining execution rules of all tasks included in the continuous delivery pipeline;
the determining unit is used for determining each target task to be executed at the current stage and executing the continuous delivery tool corresponding to each target task respectively based on the execution rule of each task if the continuous delivery pipeline execution command is monitored;
and the sending unit is used for respectively sending each target task to the corresponding continuous delivery tool so that the continuous delivery tool can execute the received target task.
7. The apparatus of claim 6, wherein when building a persistent delivery pipeline and defining execution rules for each task included in the persistent delivery pipeline, the building unit is specifically configured to:
receiving a task selection instruction input by a user through a visual arrangement tool, and determining each task included in the continuous delivery pipeline;
receiving the execution conditions of each task input by a user through a visual arrangement tool, and defining the execution rules of each task.
8. The apparatus according to claim 6 or 7, wherein the execution rule of each task at least comprises a time sequence relation for executing each task, a task type of each task, and a continuous delivery tool required for executing each task;
the types of the tasks comprise: compiling and constructing tasks, deploying upgrading tasks, code checking tasks, automatic testing tasks and manual auditing tasks.
9. The apparatus of claim 6 or 7, wherein the apparatus further comprises a receiving unit:
the sending unit is further configured to send a control command to each continuous delivery tool, where the control command is a cancel execution instruction and a query status instruction;
the receiving unit is used for receiving data corresponding to feedback of each continuous delivery tool based on the received control command, and if the control command is an execution cancellation command, the continuous delivery tool cancels the currently executed task and feeds back a result when receiving the control command; and if the control command is a state query command, acquiring and feeding back the running log when the continuous delivery tool receives the control command.
10. The apparatus of claim 6 or 7, wherein the apparatus further comprises an execution unit to:
the receiving unit is further used for receiving the task execution results fed back by each continuous delivery tool;
if the currently executed task is determined to be failed to execute based on a task execution result fed back by a continuous delivery tool and the task is a key task, the execution unit is used for terminating each currently executed task included in the continuous delivery pipeline and finishing the continuous delivery pipeline;
and if the execution unit determines that all the tasks included in the continuous delivery pipeline are successfully executed based on the task results fed back by all the continuous delivery tools, the execution unit is used for determining that the continuous delivery pipeline is completely executed.
CN202110456366.XA 2021-04-26 2021-04-26 Continuous delivery pipeline management method and device Pending CN113313353A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110456366.XA CN113313353A (en) 2021-04-26 2021-04-26 Continuous delivery pipeline management method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110456366.XA CN113313353A (en) 2021-04-26 2021-04-26 Continuous delivery pipeline management method and device

Publications (1)

Publication Number Publication Date
CN113313353A true CN113313353A (en) 2021-08-27

Family

ID=77371166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110456366.XA Pending CN113313353A (en) 2021-04-26 2021-04-26 Continuous delivery pipeline management method and device

Country Status (1)

Country Link
CN (1) CN113313353A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115421847A (en) * 2022-11-03 2022-12-02 江苏博云科技股份有限公司 Management method and equipment for research, development, operation and maintenance platform and CICD (common information carrier) assembly line supporting multiple engines
CN116431275A (en) * 2023-02-16 2023-07-14 广州钛动科技股份有限公司 Tolerance configuration method, device, computer equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6966061B1 (en) * 2001-09-20 2005-11-15 Bellsouth Intellectual Property Corp. System and method for managing initiative delivery process
CN109783090A (en) * 2019-01-18 2019-05-21 成都宝瓜科技有限公司 A kind of method for visualizing, device and server for persistently delivering
CN111399814A (en) * 2020-03-09 2020-07-10 中国邮政储蓄银行股份有限公司 Visual arrangement method and device for construction tasks
CN111443940A (en) * 2020-05-08 2020-07-24 南京大学 Complete software life cycle management method and platform based on DevOps
CN111930421A (en) * 2020-07-31 2020-11-13 中电鸿信信息科技有限公司 DevOps-based free layout monitoring system and using method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6966061B1 (en) * 2001-09-20 2005-11-15 Bellsouth Intellectual Property Corp. System and method for managing initiative delivery process
CN109783090A (en) * 2019-01-18 2019-05-21 成都宝瓜科技有限公司 A kind of method for visualizing, device and server for persistently delivering
CN111399814A (en) * 2020-03-09 2020-07-10 中国邮政储蓄银行股份有限公司 Visual arrangement method and device for construction tasks
CN111443940A (en) * 2020-05-08 2020-07-24 南京大学 Complete software life cycle management method and platform based on DevOps
CN111930421A (en) * 2020-07-31 2020-11-13 中电鸿信信息科技有限公司 DevOps-based free layout monitoring system and using method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李煜超: "基于PMD和Jacoco的代码分析***的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
王俊等: "基于流水线理念持续集成与持续交付平台的设计与实现", 《软件工程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115421847A (en) * 2022-11-03 2022-12-02 江苏博云科技股份有限公司 Management method and equipment for research, development, operation and maintenance platform and CICD (common information carrier) assembly line supporting multiple engines
CN116431275A (en) * 2023-02-16 2023-07-14 广州钛动科技股份有限公司 Tolerance configuration method, device, computer equipment and storage medium
CN116431275B (en) * 2023-02-16 2024-01-19 广州钛动科技股份有限公司 Tolerance configuration method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US20210117895A1 (en) Systems and Methods for Cross-Platform Scheduling and Workload Automation
CA3003773C (en) User interface for automated flows within a cloud based developmental platform
US9137106B2 (en) Systems and methods for private cloud computing
US20200090052A1 (en) Decision tables and enterprise rules for object linking within an application platform as a service environment
US9342364B2 (en) Workflow managed composite applications
US8959484B2 (en) System for hosted, shared, source control build
CN101411123B (en) Method, system and computer program for the centralized system management on endpoints of a distributed data processing system
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US20180321833A1 (en) User interface for automated flows within a cloud based developmental platform
US11137732B2 (en) Flow engine for building automated flows within a cloud based developmental platform
US11182217B2 (en) Multilayered resource scheduling
CA3017085C (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US8959518B2 (en) Window-based scheduling using a key-value data store
CN113313353A (en) Continuous delivery pipeline management method and device
EP3680775A1 (en) Managing metadata for a distributed processing system
US10521272B1 (en) Testing in grid computing systems
US11086696B2 (en) Parallel cloned workflow execution
CN114006815A (en) Automatic deployment method and device for cloud platform nodes, nodes and storage medium
CN107832162B (en) Method for remotely calling ModelCenter software to realize multidisciplinary design optimization
US11928627B2 (en) Workflow manager
US20220276901A1 (en) Batch processing management
CN114116679A (en) Multi-database environment operation and maintenance method and system
US20230315517A1 (en) Central randomized scheduler for hypothesis-based workloads
AU2013203291B2 (en) Systems and methods for private cloud computing
US11971805B2 (en) Intelligent automated feature toggle system using annotations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210827