CN117806654A - Tekton-based custom cloud native DevOps pipeline system and method - Google Patents
Tekton-based custom cloud native DevOps pipeline system and method Download PDFInfo
- Publication number
- CN117806654A CN117806654A CN202410233543.1A CN202410233543A CN117806654A CN 117806654 A CN117806654 A CN 117806654A CN 202410233543 A CN202410233543 A CN 202410233543A CN 117806654 A CN117806654 A CN 117806654A
- Authority
- CN
- China
- Prior art keywords
- pipeline
- task
- custom
- plug
- devops
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000010354 integration Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims abstract description 4
- 238000013500 data storage Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 claims description 4
- 238000013474 audit trail Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000003362 replicative effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 abstract description 2
- 230000002085 persistent effect Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000002459 sustained effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 229940088594 vitamin Drugs 0.000 description 1
- 229930003231 vitamin Natural products 0.000 description 1
- 235000013343 vitamin Nutrition 0.000 description 1
- 239000011782 vitamin Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
- G06F8/4452—Software pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The application relates to the technical field of computers, solves the problem of lower flexibility and compatibility of a Devops platform in the prior art, and discloses a Tekton-based custom cloud native DevOps pipeline system and method, wherein the method comprises the following steps: the interface service layer is used for processing the access request of the front end, returning corresponding response and interacting with interface service of k8 s; the system comprises a DevOps engine service layer, wherein the DevOps engine service layer comprises a tool integration unit, a custom plug-in unit and a custom pipeline unit, the system can be ensured to support multiple programming languages in a custom plug-in mode, custom input and output parameters are supported, workflow and workflow instance concepts of different stages are newly added in pipeline design so as to adapt to the whole process of development under different scenes, and the flexibility and compatibility of the Devops pipeline system are effectively improved.
Description
Technical Field
The application relates to the technical field of computers, in particular to a self-defined cloud native DevOps pipeline system and method based on Tekton.
Background
At present, more and more enterprise digital transformation companies develop respective technical facility platforms, in order to meet the demands of clients of various industries, versions of the platforms need to be iterated continuously and rapidly, business and technical architectures are increasingly complex, and problems of flow restriction, remote coordination and the like affecting the production and research efficiency occur, so that the improvement of the production and research efficiency and the determination of the product quality are very important for realizing the rapid delivery of the product. After the concept of cloud primordia is first lifted in 2015, the cloud primordia CI/CD/Devops tool chain is developed in recent years, and more enterprises start to build a Devops platform of the enterprises to improve the production and research efficiency and the delivery efficiency.
However, the Devops platform in the prior art does not support multiple programming languages, so that the flexibility and compatibility of the Devops platform are low, and the Devops platform is difficult to adapt to the changeable technical ecology in the present situation.
Disclosure of Invention
The application aims to solve the problem of low flexibility and compatibility of a Devops platform in the prior art and provide a self-defined cloud native DevOps pipeline system and method based on Tekton.
In a first aspect, a Tekton-based custom cloud native DevOps pipeline system is provided, including:
the interface service layer is used for processing the access request of the front end, returning corresponding response and interacting with interface service of k8 s;
the device comprises a DevOps engine service layer, wherein the DevOps engine service layer comprises a tool integration unit, a custom plug-in unit and a custom pipeline unit, the tool integration unit is used for integrating an automatic continuous integration tool and a continuous deployment tool, the custom plug-in unit is used for writing a custom plug-in through a programming language according to a predefined plug-in standard and making a mirror image, the mirror image is stored in a specified mirror image warehouse, and the custom pipeline unit is used for creating a workflow, creating a pipeline stage, creating a task card, creating a workflow instance, running a pipeline stage instance and creating a task Pod.
Further, the method further comprises the following steps: and the data storage layer is used for storing data.
Further, the predefined plug-in criteria are: the user-defined plug-in comprises a plug-in name, a plug-in mirror name, plug-in input parameters, plug-in output parameters and a plug-in starting command, wherein the plug-in starting command corresponds to a command to be executed in a k8s workload, the number of the plug-in input parameters is set to one or more, and the number of the plug-in output parameters is set to one or more.
Further, the custom pipeline unit includes:
a workflow module for creating a workflow and replicating the workflow, wherein the workflow includes one or more pipeline stages, and a previous pipeline stage is marked as passing and then allowed to enter a next pipeline stage;
the workflow instance module is used for creating a workflow instance;
the pipeline stage module is used for creating a pipeline stage in the workflow;
a pipeline stage instance module for running pipeline stage instances in the workflow instance;
the task module is used for creating a task Pod;
the task operation module is used for creating a task card, wherein the task card content comprises a task name, a trigger, input parameters, output parameters, execution steps, states, logs and card types.
Further, the method further comprises the following steps: and the submitting module is used for submitting the task Pod to the k8s cluster according to the task card type, the input parameters and the output parameters of the successfully scheduled pipeline configuration, so that the k8s platform performs task scheduling, and receives a completion callback from the k8s platform after task execution is completed.
Furthermore, the access parameters of each pipeline stage in the custom pipeline unit use the custom context key, so that the access parameters of different pipeline stages can be acquired by each card plug-in card after the current pipeline stage in the current pipeline stage or workflow.
Further, the task module is further configured to visualize topological DAG relationships between specified tasks, and define execution manners between the specified tasks, where the execution manners include serial execution and parallel execution.
Further, fine-grained access control policies and audit trails are implemented in the custom pipeline unit through key management.
In a second aspect, a Tekton-based custom cloud native DevOps pipeline method is provided, including a Tekton-based custom cloud native DevOps pipeline system as in any one implementation manner of the first aspect, where the method includes:
acquiring a custom plug-in written by a user;
packaging the custom plug-in into images and storing the images in a designated image warehouse;
a pipeline is created and started to complete the deployment of the service through k8 s.
Further, creating and starting the pipeline includes:
creating a workflow, and creating a pipeline stage in the workflow according to requirements;
creating task cards in a visualized manner through a DAG graph, and defining an execution manner among the appointed task cards, wherein the execution manner comprises serial execution and parallel execution;
creating a corresponding workflow instance based on the workflow;
selecting pipeline stages needing to be operated from the created workflow instance and filling parameter operation to complete scheduling of the pipeline;
and submitting the task Pod to the k8s cluster according to the task card type, the input parameters and the output parameters of the successfully scheduled pipeline configuration, so that the k8s platform performs task scheduling, and receiving a completion callback from the k8s platform after the task execution is completed.
The application has the following beneficial effects: the method and the system can carry out efficient software construction, testing and deployment in the k8s ecosystem, can ensure that the system supports multiple programming languages through a self-defined plug-in, realize integration of a framework and the existing continuous integration and continuous deployment tool, and secondly, support self-defined input and output parameters in the method and the system, so that the method and the system can adapt to changeable technical ecology, workflow and workflow instance concepts of different stages are newly added in pipeline design to adapt to the whole production and research process under different scenes, and the flexibility and compatibility of the Devops pipeline system are effectively improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application, illustrate and explain the application and are not to be construed as limiting the application.
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a Tekton-based custom cloud native DevOps pipeline system of embodiment 1 of the present application;
FIG. 2 is a block diagram of the service layer of the DevOps engine in the Tekton-based custom cloud native DevOps pipeline system of embodiment 1 of the present application;
FIG. 3 is a block diagram of a custom pipeline unit in a Tekton-based custom cloud native DevOps pipeline system of embodiment 1 of the present application;
FIG. 4 is a flow chart of task serialization in the Tekton-based custom cloud native DevOps pipeline system of embodiment 1 of the present application;
FIG. 5 is a flow chart of task parallelism in the Tekton-based custom cloud native DevOps pipeline system of embodiment 1 of the present application;
FIG. 6 is a flow chart of a method of Tekton-based custom cloud native DevOps pipelining in embodiment 2 of the present application;
FIG. 7 is a flow chart of creating and starting up a pipeline in embodiment 2 of the present application.
Reference numerals:
100. an interface service layer; 200. a DevOps engine service layer; 201. a tool integration unit; 202. custom plug-in units; 203. a custom pipeline unit; 2031. a workflow module; 2032. a workflow instance module; 2033. a pipeline stage module; 2034. a pipeline stage instance module; 2035. a task module; 2036. a task operation module; 204. a submitting module; 300. and a data storage layer.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Example 1
As shown in fig. 1, a Tekton-based custom cloud native DevOps pipeline system according to embodiment 1 of the present application includes:
the interface service layer 100 is used for processing the access request of the front end and returning a corresponding response, and interacting with the interface service of k8 s;
specifically, the interface service layer 100 is a web service layer of the system, which is provided for front-end access as an http server on one hand, interacts with an apiserver of k8s (i.e. kubernetes) on the other hand, creates some kubernetes resources, and achieves the purpose of using the self-tuning capability of kubernetes.
As shown in fig. 2, the DevOps engine service layer 200 includes a tool integration unit 201, a custom plug-in unit 202 and a custom pipeline unit 203, where the tool integration unit 201 is configured to integrate an automated persistent integration tool and a persistent deployment tool, the custom plug-in unit 202 is configured to write a custom plug-in according to a predefined plug-in standard and make a mirror image, and store the mirror image in a specified mirror image repository, and the custom pipeline unit 203 is configured to create a workflow, create a pipeline stage, create a task card, create a workflow instance, run a pipeline stage instance and create a task Pod, and ensure that the platform supports multiple programming languages (including but not limited to python/shell/java/golang/js), and the integration of a framework with existing persistent integration and persistent deployment tools, and support custom input/output parameters in order to adapt to changeable technical ecology.
It should be noted that, the DevOps engine service layer 200, that is, the engine layer of the system, is a custom operator based on tekton secondary development of an open source, and acquires resources that need to be created or updated by monitoring an apiserver of kubernetes, waits for the completion of resource creation or after the completion of a task, sends callback information to a devps api service, and completes closed-loop presentation of the task information.
Specifically, the tool integration unit 201 is configured to integrate an automated sustained integration tool and a sustained deployment tool, which is used as a flexible and complete cloud-native devots pipeline system in the present embodiment, so as to facilitate collaboration and communication between software development and technical operation and maintenance, thereby developing and deploying software quickly and efficiently, which means that many automated sustained integration tools and sustained deployment tools need to be integrated into the devots pipeline system in the present embodiment, for example: version control tools (e.g., git/SVN), persistent integration tools (e.g., jenkins/vitamins CI/Gitlab CI), persistent deployment tools (e.g., jenkins/spinmaker/Gitlab/easy manager), configuration management tools (e.g., anstable), automated test tools, etc., so a common standard is defined in this embodiment, all relevant automated persistent integration tools and persistent deployment tools are stored as part of the system integration module in the Devops pipeline system, and pluggable operation of the tools is accomplished using custom plug-ins modes.
In this embodiment, the custom plug-in unit 202 is configured to write custom plug-ins through a programming language and make mirror images according to a predefined plug-in standard, and as described above, in this embodiment, a pluggable custom plug-in is used to implement integrating multiple automated continuous integration tools and continuous deployment tools, so that a universal plug-in standard is defined in this embodiment, where the plug-in includes: the input of the resource parameter, the specific execution business logic, the output after the business logic is executed and the callback interface are all processed, in this way, a user can use any programming language (including but not limited to python/shell/java/golang/js) as long as the defined input and output standard is met, package the user into an operable mirror image and push the operable mirror image to a specified mirror image warehouse, when the pipeline stage instance operates, the Devops pipeline system provided by the embodiment can automatically create a task Pod and submit the task Pod to k8s, and the k8s can pull the mirror image customized by the user from the mirror image warehouse to execute the business operation required by the user, so that the operation is very convenient;
the format of the plug-in definition is shown in table 1 below:
table 1: plug-in defined format
Plug-in definition name | Plug-in definition description | Plug-in definition type |
name | Plug-in name | Character string |
image | Plug-in mirror name | Character string |
inputs | Plug-in input parameters | Character string array |
outputs | Plug-in output parameters | Character string array |
command | Plug-in start command | Character string array |
It should be noted that, name represents a name of a custom plug-in, for example: the plugin that invokes Jenkins to build Job may be named Jenkins-build; the image field represents a mirror image tag completed after writing a Dockerfile to package codes into an executable mirror image and pushing the executable mirror image to a specified mirror image warehouse after realizing business logic by using a programming language familiar to a user; the inputs and the outputs are context key keys defined by a user, are fields of array types, in the embodiment, the number of the input parameters of the plug-in is set to one or more, the number of the output parameters of the plug-in is set to one or more, namely, the user can customize one input field and one output field, the user can customize a plurality of input fields and a plurality of output fields, when one key is defined as the context key, the user can select the input parameters and the output parameters of all the cards set in the current stage or the stage before the current stage in the workflow when the user selects the card input parameters in the page visualization creation task card, the integrity and the consistency of the workflow are maintained, and the consistency requirement under the actual working scene is met; the command field indicates the start command of the plug-in execution, and is the command field in the corresponding k8s workload.
As shown in fig. 3, the custom pipeline unit 203 includes:
a workflow module 2031 (i.e., workflow), the workflow module 2031 is configured to create a workflow and copy the workflow, wherein the workflow includes one or more pipeline stages, and a previous pipeline stage is marked as passing and then is allowed to enter a next pipeline stage to ensure self-closing of the flow;
a workflow instance module 2032 (i.e. workflow run), where the workflow instance module 2032 is configured to create a complete workflow instance that a user needs to run, and corresponds to a workflow in the workflow module 2031, where the same workflow can create multiple workflow instances;
a pipeline stage module 2033 (i.e., pipeline), the pipeline stage module 2033 being for creating pipeline stages in the workflow, in this embodiment the pipeline concept of Tekton that is followed;
a pipeline stage instance module 2034 (i.e., pipeline instance module), the pipeline stage instance module 2034 being configured to run pipeline stage instances in the workflow instance, in this embodiment the pipeline instance concept of Tekton that is being used;
a task module 2035 (i.e., task), the task module 2035 being for creating a task Pod, in this embodiment the pipeline task concept of Tekton that is in use;
a task execution module 2036 (i.e., task run), where the task execution module 2036 is configured to create a task card, and the task card content includes a task name, a trigger, an input parameter, an output parameter, an execution step, a status, a log, and a card type, which in this embodiment is a pipeline task execution concept of Tekton.
It should be noted that, the input/output parameters of each pipeline stage in the custom pipeline unit 203 use custom context key, so that the input/output parameters of different pipeline stages can be obtained by each card plug-in card after the current pipeline stage in the current pipeline stage or workflow, thereby greatly increasing flexibility of the pipeline.
Next, the task module 2035 is further configured to visualize topological DAG relationships between operation-specific tasks, and define execution manners between the specific tasks, where the execution manners include serial execution and parallel execution, so that the visualization operation-specific topological DAG (directed acyclic) relationships between tasks are supported in the custom pipeline unit 203, multiple tasks are supported for serial execution and parallel execution, the serial and parallel logic of the page editing task card type, the multi-input parameter and the multi-output parameter setting and the task card arrangement are newly added in the pipeline design, the task card setting of the pipeline stage is supported by a user in the most convenient mode and the most resource-saving mode, and the task topological relation mainly relates to two logics, namely the construction of a DAG graph and how to acquire a schedulable task list:
construction of a DAG graph:
each Task corresponds to a Node, each Node storing the Task, and the nodes running before and after this Task, i.e. the Prev and Next of the Node. A DAG graph is a mapping of Task names to nodes. First, initializing the DAG graph, adding all tasks in Pipeline into the DAG graph, and then producing Node precedence according to Runafter and InputsFrom declared in Pipeline.
Acquiring a schedulable task list:
and starting from all the root nodes, checking whether the current Node can be scheduled, judging whether the Task state of all prevs of the Node is finished or cancelled/stopped according to the DAG graph, if so, indicating that the current Node can be scheduled, otherwise, indicating that the current Node cannot be scheduled. And then recursively calling the method for all Next of the current Node, and finally returning all schedulable task name lists.
As shown in FIG. 4, in the flow chart of task series, when the pipeline stage is running, task A is running first, task B is running after task A is running, task C is running after task B is running, and when any task of task A and task B fails, the pipeline stage instance is identified as failure, then task C cannot be run, and task B can acquire input and output of task A, task C can acquire input and output of task A and task B, but task A cannot acquire input and output of task B and task C.
As shown in FIG. 5, which is a flow chart of task parallelism, when the pipeline stage is running, task A, task B and task C are running simultaneously, any task failure does not affect the running of other tasks, and they do not share input and output results before.
In this embodiment, in order to increase the security of data and user operations in the DevOps pipeline system, security measures are embedded in the custom pipeline unit 203, so as to implement key management, implement a fine-grained access control policy, and perform audit trails.
In a further embodiment, further comprising: and the submitting module 204 is used for submitting the task Pod to the k8s cluster according to the task card type, the input parameters and the output parameters of the successfully scheduled pipeline configuration, so that the k8s platform performs task scheduling, and receiving a completion callback from the k8s platform after the task execution is completed.
The data storage layer 300, where the data storage layer 300 is used for data storage, and the data storage layer 300 is a database, and is used as a metadata storage location of a system, and in this embodiment, a mysql5.7 version of service is selected as the data storage layer 300.
After entering the DevOps pipeline system, a user needs to create a workflow required by the user as an inlet of a pipeline tool provided by a use application according to the requirement, then create a pipeline stage in the workflow according to the specific requirement as a basic unit for operating the pipeline stage instance, then create a task card in a page visualization mode, support serial operation and parallel operation by the card operation mode, then create a corresponding workflow instance based on the workflow, select the pipeline stage needing to be operated in the created workflow instance, fill in parameters to operate so as to successfully schedule the pipeline, the platform submits the task Pod to a k8s cluster according to the configured card type and input and output parameters after the scheduling is successful, schedule the task by the k8s platform, and send a completion callback to the DevOps pipeline system after the task execution is completed so as to close the whole flow.
Example 2
As shown in fig. 6, a method for customizing a cloud native DevOps pipeline based on Tekton according to embodiment 2 of the present application includes:
s100, acquiring a custom plug-in written by a user;
s200, packaging the custom plug-in into images and storing the images in a designated image warehouse;
s300, creating and starting a pipeline to complete service deployment through k 8S.
In a specific embodiment, firstly, two custom plug-ins are written by using golang, wherein the first plug-in is used for interacting with jenkins to construct a service image and pushing the service image to an image warehouse, and the second plug-in is used for interacting with k8s and submitting a depoyment resource deployment service to k8 s;
then writing Dockerfile to pack the two customized plug-ins written above into an operable plug-in mirror image and push the mirror image to a mirror image warehouse;
then create a pipeline: the first step of the pipeline is set as a plug-in interacting with jenkins, the second step is set as a plug-in interacting with kubernetes, and the pipeline is stored;
and finally, starting the pipeline, namely calling an interface of jenkins to create a jenkins build task after the pipeline runs, and triggering a k8s deployment interface after jenkins build is completed, so that service deployment is completed.
Specifically, as shown in fig. 7, creating and starting the pipeline includes:
s301, creating a workflow, and creating a pipeline stage in the workflow according to requirements;
s302, creating task cards in a visualized manner through a DAG graph, and defining an execution manner among the specified task cards, wherein the execution manner comprises serial execution and parallel execution;
s303, creating a corresponding workflow instance based on the workflow;
s304, selecting pipeline stages needing to be operated from the created workflow instance and filling parameter operation to finish scheduling of the pipeline;
s305, submitting the task Pod to the k8S cluster according to the task card type, the input parameters and the output parameters of the successfully scheduled pipeline configuration, so that the k8S platform performs task scheduling, and receiving a completion callback from the k8S platform after task execution is completed.
It should be noted that, for other specific embodiments of the Tekton-based method for customizing a cloud native DevOps pipeline in the embodiment of the present invention, reference may be made to the specific embodiments of the Tekton-based custom cloud native DevOps pipeline system, which are not described herein for avoiding redundancy.
The above is only a preferred embodiment of the present application; the scope of protection of the present application is not limited in this respect. Any person skilled in the art, within the technical scope of the present disclosure, shall cover the protection scope of the present application by making equivalent substitutions or alterations to the technical solution and the improved concepts thereof.
Claims (10)
1. A Tekton-based custom cloud native DevOps pipeline system, comprising:
the interface service layer is used for processing the access request of the front end, returning corresponding response and interacting with interface service of k8 s;
the device comprises a DevOps engine service layer, wherein the DevOps engine service layer comprises a tool integration unit, a custom plug-in unit and a custom pipeline unit, the tool integration unit is used for integrating an automatic continuous integration tool and a continuous deployment tool, the custom plug-in unit is used for writing a custom plug-in through a programming language according to a predefined plug-in standard and making a mirror image, the mirror image is stored in a specified mirror image warehouse, and the custom pipeline unit is used for creating a workflow, creating a pipeline stage, creating a task card, creating a workflow instance, running a pipeline stage instance and creating a task Pod.
2. The Tekton-based custom cloud native DevOps pipeline system of claim 1, further comprising: and the data storage layer is used for storing data.
3. The Tekton-based custom cloud native DevOps pipeline system of claim 1, wherein the predefined plug-in criteria is: the user-defined plug-in comprises a plug-in name, a plug-in mirror name, plug-in input parameters, plug-in output parameters and a plug-in starting command, wherein the plug-in starting command corresponds to a command to be executed in a k8s workload, the number of the plug-in input parameters is set to one or more, and the number of the plug-in output parameters is set to one or more.
4. The Tekton-based custom cloud native DevOps pipeline system of claim 1, wherein the custom pipeline unit comprises:
a workflow module for creating a workflow and replicating the workflow, wherein the workflow includes one or more pipeline stages, and a previous pipeline stage is marked as passing and then allowed to enter a next pipeline stage;
the workflow instance module is used for creating a workflow instance;
the pipeline stage module is used for creating a pipeline stage in the workflow;
a pipeline stage instance module for running pipeline stage instances in the workflow instance;
the task module is used for creating a task Pod;
the task operation module is used for creating a task card, wherein the task card content comprises a task name, a trigger, input parameters, output parameters, execution steps, states, logs and card types.
5. The Tekton-based custom cloud native DevOps pipeline system of any one of claims 1-4, further comprising: and the submitting module is used for submitting the task Pod to the k8s cluster according to the task card type, the input parameters and the output parameters of the successfully scheduled pipeline configuration, so that the k8s platform performs task scheduling, and receives a completion callback from the k8s platform after task execution is completed.
6. The Tekton-based custom cloud native DevOps pipeline system of claim 4, wherein the access parameters for each pipeline stage in the custom pipeline unit use custom context key such that access parameters for different pipeline stages can be obtained by each card plug-in card following the current pipeline stage or current pipeline stage in the workflow.
7. The Tekton-based custom cloud native DevOps pipeline system of claim 4, wherein the task module is further configured to visualize topological DAG relationships between operations specification tasks, and define execution manners between specification tasks, wherein the execution manners include serial execution and parallel execution.
8. The Tekton-based custom cloud native DevOps pipeline system of claim 1 or 4, wherein fine-grained access control policies and audit trails are implemented in the custom pipeline unit by key management.
9. A Tekton-based custom cloud native DevOps pipeline method comprising the Tekton-based custom cloud native DevOps pipeline system of any one of claims 1-8, the method comprising:
acquiring a custom plug-in written by a user;
packaging the custom plug-in into images and storing the images in a designated image warehouse;
a pipeline is created and started to complete the deployment of the service through k8 s.
10. The Tekton-based custom cloud native DevOps pipeline method of claim 9, wherein creating and starting the pipeline comprises:
creating a workflow, and creating a pipeline stage in the workflow according to requirements;
creating task cards in a visualized manner through a DAG graph, and defining an execution manner among the appointed task cards, wherein the execution manner comprises serial execution and parallel execution;
creating a corresponding workflow instance based on the workflow;
selecting pipeline stages needing to be operated from the created workflow instance and filling parameter operation to complete scheduling of the pipeline;
and submitting the task Pod to the k8s cluster according to the task card type, the input parameters and the output parameters of the successfully scheduled pipeline configuration, so that the k8s platform performs task scheduling, and receiving a completion callback from the k8s platform after the task execution is completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410233543.1A CN117806654B (en) | 2024-03-01 | 2024-03-01 | Tekton-based custom cloud native DevOps pipeline system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410233543.1A CN117806654B (en) | 2024-03-01 | 2024-03-01 | Tekton-based custom cloud native DevOps pipeline system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117806654A true CN117806654A (en) | 2024-04-02 |
CN117806654B CN117806654B (en) | 2024-06-07 |
Family
ID=90433830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410233543.1A Active CN117806654B (en) | 2024-03-01 | 2024-03-01 | Tekton-based custom cloud native DevOps pipeline system and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806654B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118409759A (en) * | 2024-06-28 | 2024-07-30 | 杭州云掣科技有限公司 | Custom offline product package deployment method and system based on go language |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423952A (en) * | 2017-07-25 | 2017-12-01 | 苏州博纳讯动软件有限公司 | A kind of expansible DevOps continues delivery system and its method |
CN112130956A (en) * | 2020-09-09 | 2020-12-25 | 中盈优创资讯科技有限公司 | Jenkins-based automatic CI/CD pipeline method |
CN114461182A (en) * | 2022-02-09 | 2022-05-10 | 江苏安超云软件有限公司 | Method and device for pipeline construction, electronic equipment and computer readable storage medium |
CN115167972A (en) * | 2022-05-30 | 2022-10-11 | 浪潮通信技术有限公司 | Cloud native platform integration method and system |
CN115328496A (en) * | 2022-08-16 | 2022-11-11 | 中国银行股份有限公司 | File generation method and device |
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 |
CN115827055A (en) * | 2022-12-15 | 2023-03-21 | 西安华讯科技有限责任公司 | Method and system for landing DevOps based on Gitlab CI |
CN116149728A (en) * | 2023-02-16 | 2023-05-23 | 京东科技信息技术有限公司 | CI/CD assembly conversion method and device |
US20230177426A1 (en) * | 2021-12-03 | 2023-06-08 | International Business Machines Corporation | Discovering and using application deployment dependencies to augment governance and compliance policy |
CN116339749A (en) * | 2023-03-21 | 2023-06-27 | 中国—东盟信息港股份有限公司 | Containerized DevOps method, system and equipment capable of performing task scheduling |
CN117234760A (en) * | 2023-11-15 | 2023-12-15 | 中保车服科技服务股份有限公司 | DevOps platform creation method, system, storage medium and device |
-
2024
- 2024-03-01 CN CN202410233543.1A patent/CN117806654B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423952A (en) * | 2017-07-25 | 2017-12-01 | 苏州博纳讯动软件有限公司 | A kind of expansible DevOps continues delivery system and its method |
CN112130956A (en) * | 2020-09-09 | 2020-12-25 | 中盈优创资讯科技有限公司 | Jenkins-based automatic CI/CD pipeline method |
US20230177426A1 (en) * | 2021-12-03 | 2023-06-08 | International Business Machines Corporation | Discovering and using application deployment dependencies to augment governance and compliance policy |
CN114461182A (en) * | 2022-02-09 | 2022-05-10 | 江苏安超云软件有限公司 | Method and device for pipeline construction, electronic equipment and computer readable storage medium |
CN115167972A (en) * | 2022-05-30 | 2022-10-11 | 浪潮通信技术有限公司 | Cloud native platform integration method and system |
CN115328496A (en) * | 2022-08-16 | 2022-11-11 | 中国银行股份有限公司 | File generation method and device |
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 |
CN115827055A (en) * | 2022-12-15 | 2023-03-21 | 西安华讯科技有限责任公司 | Method and system for landing DevOps based on Gitlab CI |
CN116149728A (en) * | 2023-02-16 | 2023-05-23 | 京东科技信息技术有限公司 | CI/CD assembly conversion method and device |
CN116339749A (en) * | 2023-03-21 | 2023-06-27 | 中国—东盟信息港股份有限公司 | Containerized DevOps method, system and equipment capable of performing task scheduling |
CN117234760A (en) * | 2023-11-15 | 2023-12-15 | 中保车服科技服务股份有限公司 | DevOps platform creation method, system, storage medium and device |
Non-Patent Citations (2)
Title |
---|
DIXON B等: "Simplifying teaching continuous integration and continuous deployment with hands-on application in a web development course", JOURNAL OF COMPUTING SCIENCES IN COLLEGES, 1 April 2020 (2020-04-01), pages 15 * |
王俊;牛亚运;: "基于流水线理念持续集成与持续交付平台的设计与实现", 软件工程, no. 04, 5 April 2020 (2020-04-05), pages 33 - 37 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118409759A (en) * | 2024-06-28 | 2024-07-30 | 杭州云掣科技有限公司 | Custom offline product package deployment method and system based on go language |
Also Published As
Publication number | Publication date |
---|---|
CN117806654B (en) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824948B2 (en) | Decision tables and flow engine for building automated flows within a cloud based development platform | |
US10956013B2 (en) | User interface for automated flows within a cloud based developmental platform | |
CA3003773C (en) | User interface for automated flows within a cloud based developmental platform | |
CN111580861A (en) | Pattern-based artificial intelligence planner for computer environment migration | |
US10101972B1 (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
CN108427641A (en) | A kind of multi-task scheduling automated testing method and system based on Docker containers | |
CN117806654B (en) | Tekton-based custom cloud native DevOps pipeline system and method | |
CN111147555A (en) | Heterogeneous resource mixed arrangement method | |
US11086696B2 (en) | Parallel cloned workflow execution | |
AU2019201100B2 (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
KR101326985B1 (en) | Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs | |
WO2023004806A1 (en) | Device deployment method for ai model, system, and storage medium | |
CN114265595B (en) | Cloud native application development and deployment system and method based on intelligent contracts | |
US11113105B1 (en) | Computer implemented system and method for generating platform agnostic digital worker | |
KR102046622B1 (en) | Software service system based on workflow and computer program that performs each step of the system | |
CN113791977A (en) | Code development processing method and device, electronic equipment and storage medium | |
KR20090068938A (en) | Engineering framework for executing and integrating the distributed engineering resources, and method for using the same | |
US12008488B2 (en) | Systems and methods to manage sub-chart dependencies with directed acyclic graphs | |
KR102615011B1 (en) | Electronic device for providing platform for controlling workflow related to supply chain management, the method thereof, and non-transitory computer-readable recording medium | |
CN118552101A (en) | Task processing method and system | |
KR20240000809A (en) | Electronic apparatus and method for providing code information | |
CN117971412A (en) | Task dependency scheduling method supporting dependency arrangement | |
CN115686483A (en) | Equipment manufacturing industry APP development framework and method | |
CN117873602A (en) | Management method, device, equipment and storage medium of distributed computing framework | |
CN117539603A (en) | Workflow scheduling method and device and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |