CN117234760B - DevOps platform creation method, system, storage medium and device - Google Patents

DevOps platform creation method, system, storage medium and device Download PDF

Info

Publication number
CN117234760B
CN117234760B CN202311514397.1A CN202311514397A CN117234760B CN 117234760 B CN117234760 B CN 117234760B CN 202311514397 A CN202311514397 A CN 202311514397A CN 117234760 B CN117234760 B CN 117234760B
Authority
CN
China
Prior art keywords
pipeline
tekton
task
program
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311514397.1A
Other languages
Chinese (zh)
Other versions
CN117234760A (en
Inventor
邬攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Auto Service Technology Service Co ltd
Original Assignee
China Auto Service Technology Service 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 China Auto Service Technology Service Co ltd filed Critical China Auto Service Technology Service Co ltd
Priority to CN202311514397.1A priority Critical patent/CN117234760B/en
Publication of CN117234760A publication Critical patent/CN117234760A/en
Application granted granted Critical
Publication of CN117234760B publication Critical patent/CN117234760B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

The embodiment of the invention discloses a method for creating a DevOps platform, which is characterized by comprising the following steps: calling an API according to a cloud engine program and configuring a Tekton pipeline; calling an API according to a cloud engine program and configuring an ArgoCD application; associating the Tekton pipeline with an ArgoCD application; executing a Tekton pipeline task according to the cloud engine program calling API; the invention can provide safe and reliable DevOps service through the created DevOps platform, and improves the efficiency of executing tasks.

Description

DevOps platform creation method, system, storage medium and device
Technical Field
The present invention relates to the field of computer software technologies, and in particular, to a method, a system, a storage medium, and a device for creating a DevOps platform.
Background
With the continuous development of the Internet, at present, the phenomenon that communication among various teams in a research and development team is blocked commonly exists in most enterprises, so that team efficiency is low, and cross-department cooperation difficulty is high, so that how to improve the development and test efficiency of the whole research and development team and ensure the quality of products is an important problem of software research and development.
In the prior art, cross-department cooperation is often realized by constructing a DevOps platform, so that the working efficiency is improved, development is combined with Operation, and the method is an idea of combining Development, operation and quality control in the software Development process, integrates Development requirements, development, static code inspection, automatic test, automatic Operation and maintenance and other processes, and advantageously promotes orderly progress of the whole software Development process and efficient cooperation among different departments.
With the rise of the DevOps concept, small-sized companies at home and abroad build own Devops platforms in a dispute, but because the standards built by the DevOps platforms are uneven and the used technologies are different, the existing DevOps platforms generally have the problems of insufficient automation degree, low deployment efficiency, low safety and the like, and meanwhile, the traditional enterprise-level DevOps tools are similar to Jenkins and other weight-class products, the continuous consumption of initialized deployment resources is larger, and a certain amount of cloud service resources are wasted.
Therefore, the method for creating the DevOps platform is provided by adopting Golang language based on the Kube technologies container platform, and can provide safe and reliable DevOps service.
Disclosure of Invention
Based on this, it is necessary to propose a DevOps platform creation method in view of the above-mentioned problems.
A DevOps platform creation method, the method comprising the steps of:
calling an API according to a cloud engine program and configuring a Tekton pipeline;
calling an API according to the cloud engine program and configuring an ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and executing the Tekton pipeline task according to the cloud engine program calling API.
In the above solution, after the calling the API according to the cloud engine program and configuring the Tekton pipeline, the method further includes:
and automatically executing a code detection task, a construction task, a test task and a deployment task according to the Tekton pipeline, and storing the generated input data and output data into an OpenGauss database.
In the above solution, after the calling an API according to the cloud engine program and configuring an ArgoCD application, the method further includes:
integrating the Tekton pipeline with the Kubernetes cluster according to the ArgoCD application, and storing the generated input data and output data into the OpenGauss database, wherein the associating the Tekton pipeline with the ArgoCD application specifically comprises the following steps:
defining a reference to a Tekton pipe in the ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and monitoring the task execution condition of the Tekton pipeline according to the ArgoCD application.
In the above solution, the DevOps platform further includes a programming language building module, which specifically includes:
constructing program parameters;
checking the program parameters;
if the verification is passed, constructing a plurality of tasks according to the program parameters;
and automatically executing a plurality of tasks by using the Tekton pipeline.
In the above scheme, the DevOps platform further includes a pipeline function module, configured to create a task pipeline, and call a function module corresponding to the task pipeline, to execute a task to be executed in the task pipeline.
In the above scheme, the task pipeline includes tasks to be executed and/or tasks to be executed in parallel, where the tasks to be executed include one or more of the following: code detection task, compiling task, testing task and deployment task, wherein the pipeline and the OpenGauss database perform data interaction.
The application provides a DevOps platform system, which comprises: the device comprises a configuration unit, an association unit and an execution unit;
the configuration unit is used for calling an API according to a cloud engine program and configuring a Tekton pipeline, calling the API according to the cloud engine program and configuring an ArgoCD application;
the association unit is used for associating the Tekton pipeline with an ArgoCD application;
and the execution unit is used for executing the Tekton pipeline according to the cloud engine program calling API.
The present application also proposes a readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of:
calling an API according to a cloud engine program and configuring a Tekton pipeline;
calling an API according to the cloud engine program and configuring an ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and executing the Tekton pipeline task according to the cloud engine program calling API.
The application also proposes a computer device comprising a memory and a processor, said memory storing a computer program, said computer program being executed by said processor to:
calling an API according to a cloud engine program and configuring a Tekton pipeline;
calling an API according to the cloud engine program and configuring an ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and executing the Tekton pipeline task according to the cloud engine program calling API.
The embodiment of the invention has the following beneficial effects: calling an API according to a cloud engine program and configuring a Tekton pipeline; calling an API according to the cloud engine program and configuring an ArgoCD application; associating the Tekton pipeline with an ArgoCD application; executing a Tekton pipeline task according to the cloud engine program calling API; the invention can provide safe and reliable DevOps service through the created DevOps platform, combines the Tekton pipeline and the ArgoCD application, can automatically execute the Tekton pipeline task through the cloud engine program, and is beneficial to improving the corresponding software detection or code compiling efficiency.
Drawings
In order to more clearly illustrate the embodiments of the invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Wherein:
fig. 1 is a flow chart of a method for creating a DevOps platform according to an embodiment.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all embodiments of the invention; 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.
In the following description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention; it will be apparent, however, to one skilled in the art that the invention may be practiced without one or more of these details; in other instances, well-known features have not been described in order to avoid obscuring the invention, it should be understood that this invention is capable of being practiced in many different forms and should not be interpreted as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise, and it is to be understood that the terms "comprises" and/or "comprising" when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term "and/or" includes any and all combinations of the associated listed items.
For ease of understanding, the relevant terms referred to in this application are first described below.
(1) Tekton is a cloud original CI/CD open source framework based on Kubernetes, belongs to one of the projects of the CD foundation, and enables a user to flexibly customize a pipeline to meet the self CI/CD requirement by defining a CRD (customer-defined data) way, and can be combined with Argo CD to realize GitOps;
(2) Task, task is a building Task, is the minimum unit of inseparability in Tekton, just like Pod in Kubernetes, in Task there may be multiple steps, each Step being executed by a Container;
(3) Pipeline, in which a user can define the execution order and dependency of these tasks to form a DAG (directed acyclic graph), also called a Pipeline, is a technique in which a repeated process is decomposed into a number of sub-processes, each of which is performed in parallel with the other sub-processes, and is also called a Pipeline technique, which is a time-parallel technique in nature, because the working manner is very similar to a production Pipeline in a factory;
(4) PipelineRun, pipelineRun is the actual execution product of the Pipeline, and when the Pipeline is defined by the user, the Pipeline can be executed by creating the Pipeline run, and a Pipeline record is generated;
(5) TaskRun, pipelineRun after being created, creating respective Task rules corresponding to tasks in the Pipeline, wherein one Task rule controls one Pod, step in the Task corresponds to a content in the Pod, of course, the Task rules can also be created independently, the Pipeline consists of a plurality of tasks, each time the Task is executed, one Pipeline is correspondingly generated, and the controlled Task rule creates the Pod which is actually operated;
(6) Argo CD, an open-source Kubernetes application, can be used to implement GitOps;
(7) DevOps, a collective term for a set of processes, methods and systems, for facilitating communication, collaboration and integration between development (application/software engineering), technical operations and Quality Assurance (QA) departments;
(8) The cloud native architecture is an architecture constructed by using a container technology, a Kubernetes scheduling technology and other cloud native technologies;
(9) GitOps, a Git-centric application management and deployment method, implements automated and extensible operations by normalizing the operations into code in Git;
(10) API, the acronym for API english, application programming interface, is interpreted: interfaces between programs can also be understood as contracts between programs.
The existing DevOps platform usually faces the problems of insufficient automation degree, low deployment efficiency, low safety and the like, the scheme of the application is based on a Kubernetes container platform, adopts Golang language, tekton, argoCD and other open source cloud native technologies, uses a series of DevOps peripheral technologies and algorithm models such as GitOps resource policy scheduling algorithm and the like, builds a lightweight instruction-driven enterprise-level Serverless CICD continuous building cloud engine DevOps platform, and can provide safe and reliable DevOps services.
For a thorough understanding of the present invention, detailed structures will be presented in the following description to illustrate the technical solution of the present invention; alternative embodiments of the invention are described in detail below, however, the invention may have other implementations in addition to these detailed descriptions.
As shown in fig. 1, in one embodiment, a DevOps platform creation method is provided, and the DevOps platform creation method includes steps S101 to S104, which are described in detail as follows:
s101, calling an API according to a cloud engine program and configuring a Tekton pipeline;
specifically, a Tekton Pipeline is deployed by entering a release.yml file of a corresponding version of a downloaded cluster of a Tekton functional network, and a request for creating CRD configuration resources such as Tekton Pipeline/Task is sent through a Tekton cli SDK according to a Golang program, so that the Tekton Pipeline is configured.
In some embodiments, after calling the API according to the cloud engine program and configuring the Tekton pipe, the method further includes:
and automatically executing a code detection task, a construction task, a test task and a deployment task according to the Tekton pipeline, and storing the generated input data and output data into an OpenGauss database.
Preferably, in Tekton, the Pipeline is a reusable workflow consisting of tasks (tasks) and a work chain (Pipeline), and the software delivery flow from the code store to the final environment can be described.
S102, calling an API according to a cloud engine program and configuring an ArgoCD application;
specifically, by entering an ArgoCD functional network to download a release file of a corresponding version of the cluster, using Kubectl apply-f release file to deploy an ArgoCD pipeline, and using a Golang program to send an ArgoCD CRD resource creation request through an ArgoCD cli SDK, the ArgoCD application is configured.
In some embodiments, after calling the API according to the cloud engine program and configuring the ArgoCD application, the method further includes:
integrating the Tekton pipeline with the Kubernetes cluster according to the ArgoCD application, and storing the generated input data and output data into an OpenGauss database.
Specifically, argoCD is a Kubernetes-based CD tool that can automate the version and deployment of management applications. By creating and configuring the ArgoCD application, the Tekton pipeline can be integrated with the Kubernetes cluster, and automatic deployment and management can be realized. The input and output data generated during the process are stored in the OpenGauss database.
S103, associating the Tekton pipeline with an ArgoCD application;
in some embodiments, associating Tekton pipes with ArgoCD applications specifically includes:
(1) Defining a reference to a Tekton pipe in an ArgoCD application;
specifically, a Golang program is used for inquiring a cluster on which Tekton Task operation depends in OpenGauss data, related parameters such as an agent, a credential, a code, an environment, a container, a construction, a working space, a notification, a trigger and the like are obtained, the parameters on which Tekton Task operation depends are bound according to a sequence specified by a flow, a referenced Tekton pipeline is associated, the CI Task is executed, input and output parameters executed by the CI Task are recorded again to an OpenGauss database for carrying out next execution parameter correction and recording, and the reference of the Tekton pipeline is defined.
(2) Associating the Tekton pipeline with an ArgoCD application;
specifically, golang program is used to query clusters in the OepnGauss data on which ArgoCD operation depends,
acquiring related parameters such as environment, operation parameters, tuning parameters, timing tasks and the like, carrying out parameter binding on the queried matched parameters and ArgoCD Template, executing a CD release Task, and recording input and output parameters executed by a CD Task to an OpenGauss database again to carry out parameter correction and recording for the next time, so as to realize the association of a Tekton pipeline and ArgoCD application.
(3) And monitoring the task execution condition of the Tekton pipeline according to the ArgoCD application.
It can be seen that, through the steps (1) to (3) above, a Reference (Reference) of a Tekton pipe can be defined in the ArgoCD application, and the Tekton pipe is associated with the ArgoCD application, so that the ArgoCD can automatically trigger and monitor the execution of the Tekton pipe; meanwhile, the input and output data generated in the period are stored in an OpenGauss database.
S104, executing the Tekton pipeline task according to the cloud engine program calling API.
Specifically, the Golang program sends a request for creating CRD operation resources such as Tekton Pipelinerun/Taskrun and the like through a Tekton cli SDK, and the execution of a Tekton pipeline task by calling an API is realized.
In some embodiments, the DevOps platform further includes a programming language building module, specifically including:
constructing program parameters;
specifically, the program parameters include: projectId, name, pipeline Name, template number, serviceCode, micro-service Name, cluster ID, storageClassName, storage class Name, contextDir, proxyId, proxy configuration information, codeUrl, code repository address, codeType, code repository type; the invention includes the following steps of git or svn, enableRevision whether a custom branch Name is used, revision: branch Name, dockerDir: dockerfire catalog, dockerfire: dockerfire content, dockerBuildArgs: docker build parameter, hubRepositoriyId: harbor proxy address, hubTag: mirror tag, cocredenyid: code managed credential, goals: execute instruction, buildToolversion: build tool version, buildTYPE: build type, maven, node or Golang, etc., enableNotif notify is enabled, subscribelist: notify user list, istrigger is enabled, triggerToken: authentication Token, hostAliases with GitOps: custom cluster internal DNS Domain Name resolution, isDeploy: contain deployment phase, envId: deployment environment information, and build time.
Verifying program parameters;
the parameter type verification specifically includes: projectId, checking by requesting Uri Path; name, template, serviceCode, clusterId, proxyId, dockerfileId, hubRepositoryId, codeCredentialId, envId, etc. check if correct by querying the database; storageClassName, goals, etc. are checked by Kubernetes, and the remaining parameters do not need to be checked, all contain default values.
If the verification is passed, constructing a plurality of tasks according to the program parameters;
specifically, a series of matched information such as clusters, agents, warehouses, construction accelerators, vouchers, construction templates and the like stored in an OpenGauss database are queried through checking correct parameters, tekton CI Pipeline/pipeline unit/Task and other requests are created through queried information assembly, a prefabricated execution template is formed, if a construction Task which is already operated once can be directly used for loading parameters through the prefabricated execution template, the latest constructed Tag parameters are transmitted to a program to create a new pipeline unit and execute the new pipeline unit, a code trigger is connected in series through the pipeline unit, a code trigger is pulled, a construction image is manufactured, a kubectl issuing service and other series of CI execution steps are performed, the program monitors a Tekton construction event according to the pipeline unit name in real time, a latest construction state is queried, and after the final state is reached, the construction container and resources are recovered, and relevant process input and output parameters are input and output so as to carry out construction result statistics.
And automatically executing a plurality of tasks by using a Tekton pipeline.
In summary, according to the scheme, an API is called according to a cloud engine program and a Tekton pipeline is configured; calling an API according to a cloud engine program and configuring an ArgoCD application; associating the Tekton pipeline with an ArgoCD application; executing a Tekton pipeline task according to the cloud engine program calling API; the invention can provide safe and reliable DevOps service through the created DevOps platform, combines the Tekton pipeline and the ArgoCD application, can automatically execute the Tekton pipeline task through the cloud engine program, and is beneficial to improving the corresponding software detection or code compiling efficiency.
Furthermore, by automatically executing a plurality of tasks by using the Tekton pipeline, the DevOps platform can automatically execute tasks such as code detection, construction, code testing, deployment and the like, and an efficient software delivery flow is realized.
Preferably, the DevOps platform can be embedded with abundant unit tests, automatic tests, pressure tests, safety detection, safety scanning and other diversified safety, test, product detection and other plug-ins, so as to construct a flexible, reliable and traceable safety software product supply chain.
Preferably, the DevOps platform supports different bottom storage schemes, designs shared storage of different programming languages, performs a great deal of optimization on a retrieval scaffold, provides acceleration of programming language construction without perception of a user, and can effectively promote user perception.
Preferably, the DevOps platform occupies less resources by utilizing the continuous construction service created by the cloud primary service, creates a new working process based on event response, burns after reading, and can reduce the construction process cost through a full link; meanwhile, the template of the method is used for constructing a workflow, self-grinding script Pipeline of different languages is provided according to requirements, different tasks can be strategically executed according to the input parameters, the tasks are screened and classified, and the execution efficiency is further improved.
In some embodiments, the DevOps platform further includes a pipeline functional module configured to create a task pipeline and call a functional module corresponding to the task pipeline to execute a task to be executed in the task pipeline.
In some embodiments, tasks to be performed including one or more of the following are included in the task pipeline, including tasks to be performed in series and/or tasks to be performed in parallel: code detection task, compiling task, testing task and deployment task, and the pipeline performs data interaction with the OpenGauss database.
Preferably, the DevOps platform further includes a priority schedule (Priority Scheduling) when executing a plurality of tasks automatically by using a Tekton pipeline, which is specifically as follows:
for the task set { T1, T2,., tn }, each task Ti has a priority P (Ti), with higher priorities indicating more important tasks, the Tekton pipeline performs tasks in order from higher to lower priorities.
The priority scheduling can ensure that important tasks are preferentially executed, so that the response speed and the overall performance of the system are improved, for example, in an emergency, the execution of tasks with low priority can be interrupted by tasks with high priority, and the emergency tasks are timely processed.
Preferably, when the aforementioned DevOps platform automatically executes a plurality of tasks by using a Tekton pipeline, the DevOps platform further includes Time-Slice Scheduling (Time-Slice Scheduling), which is specifically as follows:
for the task set { T1, T2,., tn }, each task Ti has a time slice T (Ti), after the time slice is exhausted, the task is switched to the next task, the Tekton pipeline sequentially executes the tasks according to the time slices of the tasks, and when one time slice is exhausted, the task is switched to the next task and a time slice is allocated to the next task.
The time slice round robin scheduling can fully utilize system resources, and improves system throughput and response speed, for example, in a multi-user environment, each user can allocate a time slice to execute own tasks, so that the situation that a certain user occupies the system resources for a long time is avoided.
Preferably, the DevOps platform further includes preemptive scheduling (Preemptive Scheduling) when automatically executing a plurality of tasks by using a Tekton pipeline, which is specifically as follows:
for the task set { T1, T2,..tn }, each task Ti has an execution time E (Ti), the Tekton pipeline executes the tasks in turn according to the execution time of the task, and when the execution time of one task exceeds its assigned time slice, the scheduler can pause it and switch it to the next task.
The preemptive scheduling can improve the response speed and the resource utilization rate of the system, for example, in a real-time system, the preemptive scheduling can ensure that real-time tasks are processed in time, and delay of other tasks is avoided.
Preferably, when the aforementioned DevOps platform automatically executes a plurality of tasks by using a Tekton pipeline, the DevOps platform further includes a Dependency-Based Scheduling (Dependency-Based Scheduling), which is specifically as follows:
for the task set { T1, T2,., tn }, each task Ti has a dependency relationship D (Ti) that indicates which tasks output or result it depends on, and the Tekton pipeline builds a Directed Acyclic Graph (DAG) from the dependency relationship and sequentially executes the tasks in the topological order of the graph.
The dependency relationship-based scheduling can ensure that tasks are executed in a correct order, and can avoid conflict and inconsistency among the tasks, for example, when a large code library is compiled, the dependency relationship-based scheduling can correctly determine the code compiling order, so that the compiling efficiency is improved.
Further, the priority ranking among the four schedules, i.e., the priority schedule (Priority Scheduling), the Time-Slice Scheduling (Time-Slice Scheduling), the preemptive Scheduling (Preemptive Scheduling), and the Dependency-Based Scheduling (Dependency-Based Scheduling), may be manually set according to the specific usage scenario and the specific processing procedure.
Further, the aforementioned DevOps platform may use any one or a combination of priority Scheduling (Priority Scheduling), time-Slice Scheduling (Time-Slice Scheduling), preemptive Scheduling (Preemptive Scheduling), dependency-Based Scheduling (Priority Scheduling), time-Slice Scheduling (Time-Slice Scheduling), preemptive Scheduling (Preemptive Scheduling), and Dependency-Based Scheduling (Dependency-Based Scheduling).
Preferably, when the Tekton pipeline is utilized to automatically execute a plurality of tasks, the DevOps platform further comprises data monitoring, which is used for archiving data before and after processing, monitoring the data and outputting corresponding monitoring indexes.
In some embodiments, a cloud engine DevOps platform can be built through the resources and supporting facilities stated in the cloud engine network instruction manual, and a measurement index monitoring during construction is provided for different CPU, operating system and cloud native base required customization part differentiation implementation scripts, metadata generated at each stage of application app of an enterprise user is archived and analyzed, and the user is guided to accurately fill in operation index parameters.
Preferably, the application app can generate monitoring of various running time data of the application after being deployed online, can expand horizontally and longitudinally, can realize flow observation, management and control and the like aiming at special release scenes, can observe service states at overview pages, can assist users in evaluating the importance and reliability of the app, can trace app life cycles, and can assist government and enterprise financial clients in building safe and reliable traceable software product supply chains.
Preferably, the DevOps platform conforms to the principle of the GitOps theory, is customized with a stronger and larger controllable Webhook function, and can respond to various Webhook events such as a Git, harbor, nexus third party platform and the like.
Preferably, the DevOps platform implements a CICD state machine hosting a more lightweight rich DevOps link by using a Tekton+ArgoCD combined plug-in.
The application provides a DevOps platform creation system, which comprises: the device comprises a configuration unit, an association unit and an execution unit;
the configuration unit is used for calling the API according to the cloud engine program and configuring the Tekton pipeline, calling the API according to the cloud engine program and configuring the ArgoCD application;
the association unit is used for associating the Tekton pipeline with the ArgoCD application;
and the execution unit is used for executing the Tekton pipeline according to the cloud engine program calling API.
The present application also proposes a readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of:
calling an API according to a cloud engine program and configuring a Tekton pipeline;
calling an API according to a cloud engine program and configuring an ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and executing the Tekton pipeline task according to the cloud engine program calling API.
The application also proposes a computer device comprising a memory and a processor, the memory storing a computer program, the computer program being executed by the processor to:
calling an API according to a cloud engine program and configuring a Tekton pipeline;
calling an API according to a cloud engine program and configuring an ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and executing the Tekton pipeline task according to the cloud engine program calling API.
Those skilled in the art will appreciate that the processes implementing all or part of the methods of the above embodiments can be implemented by means of hardware associated with a computer program, and the program can be stored in a non-volatile computer readable storage medium, where the program, when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory may include read only memory(ROM)Programmable deviceROM(PROM)Electrically programmableROM(EPROM)An Electrically Erasable Programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory(RAM)Or an external cache. By way of illustration and not limitation, RAM is available in a variety of forms, such as staticRAM (SRAM)Dynamic stateRAM(DRAM)Synchronization ofDRAM(SDRAM)Double data rateSDRAM(DDRSDRAM)Enhanced typeSDRAM (ESDRAM)Synchronous link(Synchlink) DRAM(SLDRAM)Memory bus(Rambus)Directly and directlyRAM(RDRAM)Direct memory bus dynamicsRAM(DRDRAM)Memory bus dynamicsRAM(RDRAM)Etc.
The technical features of the above embodiments can be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples only represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the present application. It should be noted that it is also possible for a person skilled in the art to make several variations and modifications without departing from the spirit of the present application, which are all within the scope of protection of the present application, and what has been disclosed above is only a preferred embodiment of the present invention, and it is needless to say that the scope of the claims of the present invention shall not be limited thereto, and therefore equivalent variations according to the claims of the present invention shall still fall within the scope of the present invention.

Claims (9)

1. A method for creating a DevOps platform, the method comprising the steps of:
calling an API according to a cloud engine program and configuring a Tekton pipeline;
calling an API according to the cloud engine program and configuring an ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
executing a Tekton pipeline task according to the cloud engine program calling API; the DevOps platform further comprises a programming language building module, which specifically comprises: constructing program parameters; checking the program parameters; if the verification is passed, constructing a plurality of tasks according to the program parameters; automatically executing a plurality of tasks by using the Tekton pipeline;
the program parameters include: projectId: item ID, name: pipeline Name, template: template number, serviceNode micro-service Name, cluster ID, storageClassName storage class Name, contextDir working directory, proxyId proxy configuration information, codeUrl code repository address, codeType code repository type, git or svn, enableRevision whether custom branch Name is used, revision branch Name, dockerDir Docker directory, docker eid Docker content, docker buildAcg parameters, hubRepositoryId Harbor proxy address, hubTag mirror tag, codeCreatable Id code hosting evidence, goals execution instruction, buildToxokVert construction tool version, buildTope construction type, MAVen, node or golang, enableNotify whether to enable notification, subscicrList notifying user list, whether to trigger a trigger phase of trigger with a trigger phase of a trigger environment, whether to deploy with a DNS 62, whether or not, and whether the internal deployment phase of a self-authentication environment is defined;
the verifying the program parameters comprises: projectId check by request Uri Path Name, template, serviceCode, clusterId, proxyId, dockerfileId, hubRepositoryId, codeCredentialId, envId: checking whether the database is correct or not by querying the database, storageClassName, gols: checking through Kubernetes, wherein other parameters do not need to be checked and all comprise default values;
if the verification is passed, after constructing a plurality of tasks according to the program parameters, the method further comprises: inquiring a cluster stored in an OpenGauss database through checking correct parameters, proxy, warehouse, constructing accelerator, credential, constructing matched information of a template, assembling and creating Tekton CI Pipeline/Pipelinern/Task requests through the inquired matched information, forming a prefabricated execution template, directly loading parameters through the prefabricated execution template if a construction Task which has been executed once, transmitting the latest constructed Tag parameters to a program to create and execute a new Pipelinern, connecting a code trigger in series through the new Pipelinern, constructing a code, manufacturing a push mirror, and executing a kubectl issuing service, monitoring a Tekton construction event by the program in real time according to the Pipelinern name, inquiring the latest construction state, recovering a construction container and resources after the final state is reached, and warehousing input and output parameters of the relevant process so as to carry out construction result statistics.
2. The method for creating a DevOps platform according to claim 1, further comprising, after the API is called and the Tekton pipe is configured according to the cloud engine program:
and automatically executing a code detection task, a construction task, a test task and a deployment task according to the Tekton pipeline, and storing the generated input data and output data into an OpenGauss database.
3. The method for creating a DevOps platform according to claim 2, further comprising, after the calling an API according to the cloud engine program and configuring an ArgoCD application: integrating the Tekton pipeline with the Kubernetes cluster according to the ArgoCD application, and storing the generated input data and output data into an OpenGauss database.
4. The method for creating a DevOps platform according to claim 3, wherein the associating the Tekton pipe with an ArgoCD application specifically comprises:
defining a reference to a Tekton pipe in the ArgoCD application;
associating the Tekton pipeline with an ArgoCD application;
and monitoring the task execution condition of the Tekton pipeline according to the ArgoCD application.
5. The method for creating a DevOps platform according to claim 1, wherein the DevOps platform further comprises a pipeline function module for creating a task pipeline, and calling a function module corresponding to the task pipeline, to execute a task to be executed in the task pipeline.
6. The method for creating the DevOps platform according to claim 5, wherein the task pipeline includes tasks to be executed and/or tasks to be executed in parallel, and the tasks to be executed include one or more of the following: code detection task, compiling task, testing task and deployment task, wherein the pipeline and the OpenGauss database perform data interaction.
7. A DevOps platform creation system, the system comprising: the device comprises a configuration unit, an association unit, a programming language construction module unit and an execution unit;
the configuration unit is used for calling an API according to a cloud engine program and configuring a Tekton pipeline, calling the API according to the cloud engine program and configuring an ArgoCD application;
the association unit is used for associating the Tekton pipeline with an ArgoCD application;
the programming language construction module unit is used for constructing program parameters; checking the program parameters; if the verification is passed, constructing a plurality of tasks according to the program parameters; automatically executing a plurality of tasks by using the Tekton pipeline;
the program parameters include: projectId: item ID, name: pipeline Name, template: template number, serviceNode micro-service Name, cluster ID, storageClassName storage class Name, contextDir working directory, proxyId proxy configuration information, codeUrl code repository address, codeType code repository type, git or svn, enableRevision whether custom branch Name is used, revision branch Name, dockerDir Docker directory, docker eid Docker content, docker buildAcg parameters, hubRepositoryId Harbor proxy address, hubTag mirror tag, codeCreatable Id code hosting evidence, goals execution instruction, buildToxokVert construction tool version, buildTope construction type, MAVen, node or golang, enableNotify whether to enable notification, subscicrList notifying user list, whether to trigger a trigger phase of trigger with a trigger phase of a trigger environment, whether to deploy with a DNS 62, whether or not, and whether the internal deployment phase of a self-authentication environment is defined;
the verifying the program parameters comprises: projectId check by request Uri Path Name, template, serviceCode, clusterId, proxyId, dockerfileId, hubRepositoryId, codeCredentialId, envId: checking whether the database is correct or not by querying the database, storageClassName, gols: checking through Kubernetes, wherein other parameters do not need to be checked and all comprise default values;
if the verification is passed, after constructing a plurality of tasks according to the program parameters, the method further comprises: inquiring a cluster stored in an OpenGauss database through checking correct parameters, proxy, warehouse, constructing accelerator, credential and constructing matched information of a template, assembling and creating Tekton CI Pipeline/pipeline/Task requests through the inquired matched information, forming a prefabricated execution template, directly loading parameters through the prefabricated execution template if a construction Task which has been run once, transmitting the latest constructed Tag parameters to a program to create and execute a new pipeline and connecting a code trigger in series through the new pipeline, constructing a code, manufacturing a push mirror, and performing a kubectl issuing service, monitoring a Tekton construction event according to the pipeline name in real time by the program, inquiring the latest construction state, recovering a construction container and resources after the latest construction state is reached, and warehousing input and output parameters of the relevant process so as to carry out construction result statistics;
and the execution unit is used for executing the Tekton pipeline according to the cloud engine program calling API.
8. A readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of the method of any one of claims 1 to 6.
9. A computer device comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 6.
CN202311514397.1A 2023-11-15 2023-11-15 DevOps platform creation method, system, storage medium and device Active CN117234760B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311514397.1A CN117234760B (en) 2023-11-15 2023-11-15 DevOps platform creation method, system, storage medium and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311514397.1A CN117234760B (en) 2023-11-15 2023-11-15 DevOps platform creation method, system, storage medium and device

Publications (2)

Publication Number Publication Date
CN117234760A CN117234760A (en) 2023-12-15
CN117234760B true CN117234760B (en) 2024-02-27

Family

ID=89097034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311514397.1A Active CN117234760B (en) 2023-11-15 2023-11-15 DevOps platform creation method, system, storage medium and device

Country Status (1)

Country Link
CN (1) CN117234760B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117806654B (en) * 2024-03-01 2024-06-07 杭州云掣科技有限公司 Tekton-based custom cloud native DevOps pipeline system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115838A (en) * 2021-11-11 2022-03-01 中电九天智能科技有限公司 Data interaction method and system based on distributed components and cloud platform
CN114610368A (en) * 2022-03-28 2022-06-10 广域铭岛数字科技有限公司 Platform tool chain integration and maintenance method, system, equipment and medium
CN114647585A (en) * 2022-03-28 2022-06-21 重庆长安汽车股份有限公司 DevOps-based intelligent network connection intelligent driving function cloud simulation test system and method
CN116521363A (en) * 2023-04-06 2023-08-01 中保车服科技服务股份有限公司 Code packaging method, computer equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115838A (en) * 2021-11-11 2022-03-01 中电九天智能科技有限公司 Data interaction method and system based on distributed components and cloud platform
CN114610368A (en) * 2022-03-28 2022-06-10 广域铭岛数字科技有限公司 Platform tool chain integration and maintenance method, system, equipment and medium
CN114647585A (en) * 2022-03-28 2022-06-21 重庆长安汽车股份有限公司 DevOps-based intelligent network connection intelligent driving function cloud simulation test system and method
CN116521363A (en) * 2023-04-06 2023-08-01 中保车服科技服务股份有限公司 Code packaging method, computer equipment and storage medium

Also Published As

Publication number Publication date
CN117234760A (en) 2023-12-15

Similar Documents

Publication Publication Date Title
Vogel et al. Model-driven engineering of self-adaptive software with eurema
CN117234760B (en) DevOps platform creation method, system, storage medium and device
US20110004564A1 (en) Model Based Deployment Of Computer Based Business Process On Dedicated Hardware
CN112148306B (en) Micro-service operation and maintenance management system and method
Mayer et al. Preserving scientific processes from design to publications
US20080307211A1 (en) Method and apparatus for dynamic configuration of an on-demand operating environment
CN112882846A (en) Data processing method and device of message queue, computer equipment and storage medium
CN113377668A (en) Automatic testing method and device for service interface and computer equipment
CN114564385A (en) Software testing method and device, computer equipment and storage medium
US9466037B2 (en) Versioning and effectivity dates for orchestration business process design
CN117806654A (en) Tekton-based custom cloud native DevOps pipeline system and method
Talwar et al. Comparison of approaches to service deployment
Vogel et al. Model-driven engineering of adaptation engines for self-adaptive software: executable runtime megamodels
CN111522623B (en) Modularized software multi-process running system
CN114006815A (en) Automatic deployment method and device for cloud platform nodes, nodes and storage medium
D’Ambrogio et al. A method for the prediction of software reliability
Kluza et al. Visual inference specification methods for modularized rulebases. Overview and integration proposal
CN116400950A (en) DevOps element pipeline system based on version control
Andrzejak et al. Feedbackflow-an adaptive workflow generator for systems management
Shiang-Jiun et al. Trustworthy Software Development—Practical view of security processes through MVP methodology
CN112564979A (en) Execution method and device for construction task, computer equipment and storage medium
Bicevskis et al. A Practitioners Approach to Achieve Autonomic Computing Goals
Deshpande et al. Test automation and continuous integration using Jenkins for smart card OS
Bicevskis et al. Self-management of information systems
WO2009082387A1 (en) Setting up development environment for computer based business process

Legal Events

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