A multi-environment coexistence configuration system and method based on cloud native visualization pipeline

Through a multi-environment coexistence configuration system based on cloud-native visualization pipeline, the problems of high threshold, poor visual configuration and confusing environmental dependence of CI/CD systems are solved, and dynamic scaling of resources and centralized visualization of quality data are realized, which improves R&D efficiency and product quality.

CN119781810APending Publication Date: 2025-04-08CHINA TELECOM CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411773092.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The existing CI/CD systems have problems such as high thresholds, poor visual configuration, confusing environmental dependence and scattered quality data, resulting in high maintenance costs, error-prone and difficult to effectively control product quality.

Method used

A multi-environment coexistence configuration system based on cloud-native visual pipeline is adopted, including system pre-configuration module, visual configuration module, configuration conversion module and visual orchestration module. The automatic conversion of multi-build environment configuration and automatic conversion of process topology diagram configuration between tasks is realized through declarative pipeline syntax, supporting multi-environment coexistence governance and dynamic resource scaling.

Benefits of technology

It lowers the threshold for use of CI/CD systems, improves the intuitiveness and automation of visual configurations, solves the problem of large and messy environmental dependence, and ensures product quality through centralized visual data, and improves R&D efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119781810A_ABST
    Figure CN119781810A_ABST
Patent Text Reader

Abstract

The present application provides a multi-environment coexistence configuration system based on a cloud-native visual pipeline, including a system pre-configuration module, a visual configuration module, a configuration conversion module and a visual orchestration module. The system pre-configuration module performs credential configuration and image configuration; the visual configuration module is used to configure basic information, process configuration, trigger configuration, variables and cache for the pipeline; the configuration conversion module is used to realize automatic conversion of multi-build environment coexistence configuration and automatic conversion of process topology configuration between tasks; the visual orchestration module is used to view the orchestration status, task log, orchestration results, duration and visual quality data in real time, which can reduce the requirements for the use of CI&CD, productize TestOps and CI&CD practices, reduce manual maintenance, release human resources and pressure, and ensure product quality through visual quality data, quality thresholds, and red line settings, assisting enterprises to further explore R&D efficiency and formulate different R&D processes and strategies.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a multi-environment coexistence configuration system and method based on a cloud-native visualization pipeline. Background Art

[0002] In software development, continuous integration of R&D and testing uses tools that are more likely to use CI (continuous integration) features in Jenkins and GitLab. These tools have the following limitations:

[0003] First, the ability requirements are high and the syntax is complex. Users need to be familiar with the corresponding development languages ​​such as groovy, yaml configuration specifications, shell script writing, etc., which requires high user ability and a high threshold. Even if the user has the corresponding ability requirements, the user needs to have a good understanding of the server environment configuration and resources in order to run stably;

[0004] Second, the visualization configuration is low. The execution of serial and parallel tasks is achieved by manually configuring the corresponding internal language logic, which requires manual maintenance, resulting in high maintenance costs, easy errors, and poor visualization. At the same time, the process topology diagram between unit tasks cannot be displayed intuitively, and the visualization level is not high. It is necessary to use various plug-ins to switch between pages.

[0005] Third, the daily CICD system needs to rely on multiple environments. The environmental dependencies involved in each task unit in the pipeline are not differentiated, which cannot meet the requirement that atomic unit modules can be assembled arbitrarily, resulting in large and chaotic environmental dependencies and chaotic environmental management.

[0006] Fourth, data from unit testing, code scanning, automated testing, and other processes during the build process are scattered across various systems and cannot be centrally visualized, resulting in the need to access different systems to collect product quality data. This makes it difficult for companies to meet product quality red lines, the process is cumbersome, and product quality cannot be effectively controlled. Summary of the invention

[0007] The present application illustrates a multi-environment coexistence configuration system and method based on a cloud-native visualization pipeline.

[0008] In the first aspect, the present application shows a multi-environment coexistence configuration system based on a cloud-native visual pipeline, including a system pre-configuration module, a visual configuration module, a configuration conversion module and a visual orchestration module. The system pre-configuration module performs credential configuration and image configuration; the visual configuration module is used to configure basic information, process configuration, trigger configuration, variables and cache for the pipeline; the configuration conversion module is used to realize automatic conversion of coexistence configurations of multiple build environments and automatic conversion of process topology configurations between tasks; the visual orchestration module is used to view the orchestration status, task logs, orchestration results, duration and visual quality data in real time.

[0009] In a second aspect, the present application shows a method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline, the method comprising:

[0010] Perform system pre-configuration, including credential configuration and image configuration;

[0011] Create a pipeline and select a pipeline template;

[0012] Configure basic information, code source, tasks, triggers, and variables for the pipeline;

[0013] Through the configuration conversion algorithm, declarative pipeline syntax is used to achieve automatic conversion of multiple build environment configurations and automatic conversion of process topology configurations between tasks;

[0014] Based on the parameterized build feature of Jenkins, tasks are scheduled to K8s for execution, and information is pushed to the front end through WebSocket technology to achieve process orchestration visualization.

[0015] According to the method of the second aspect of the present application, the automatic conversion of multiple build environment configurations includes:

[0016] Based on cloud native technology and the declarative pipeline syntax in the Jenkins file, a pod is defined. A pod runs multiple containers. Each container has a unique identifier. The container can coexist in multiple build environments through the unique identifier to execute different unitized build commands.

[0017] Based on the yaml configuration characteristics of k8s, a custom object model is used to initialize the parsed image configuration into the object model, format it into a string through the toolkit, initialize the agent block in the jenkins pipeline and the kubernetes block syntax of the agent block, fill in the k8s name, namespace and permission account in the kubernetes block, and then assign the yaml result to the spec block.

[0018] According to the method of the second aspect of the present application, the automatic conversion of the inter-task process topology configuration includes:

[0019] Custom object model, combined with Jenkins declarative pipeline's Groovy syntax for stage series and parallel connection, extracting Groovy syntax into stage blocks;

[0020] Initialize the stage block configuration;

[0021] Filling the stage block configuration;

[0022] Loop through the parallelJobInfoList to obtain its build command, task type, plug-in configuration, build image, and downstream task information. Each task information in the parallelJobInfoList corresponds to a stage block, and parse the downstream task information.

[0023] Perform downstream tasks;

[0024] The downstream tasks are parsed.

[0025] According to the method of the second aspect of the present application, the basic information of the task configuration includes image version, execution instructions, quality access control detection, quality red line setting, manual checkpoints, task retry, enterprise WeChat notification and execution conditions.

[0026] According to the method of the second aspect of the present application, the trigger configuration supports webhook triggering, visual timing configuration and branch matching, pastes the URL provided by the platform on the code hosting platform, and fills in the branch regular expression.

[0027] According to the method of the second aspect of the present application, filling the stage block configuration includes:

[0028] The stage block is provided with a steps block and a post block, the steps block is provided with a container block and a script block, each of the task information has a running environment dependency and a running script, the environment dependency is configured in the container block, and the running script is configured in the script block.

[0029] According to the method of the second aspect of the present application, the parsed information of the object model includes image configuration information, data mounting, credential secert and scheduling policy information.

[0030] According to the method of the second aspect of the present application, in the object model, stageInfoDTO data is received, and a root node is obtained, the root node includes the first stage information, and after the first stage information is extracted, an initialization operation is performed on one of the stage block configurations.

[0031] According to the method of the second aspect of the present application, when the length of parallelJobInfoList is greater than 1, the pipeline syntax parallel block structure includes the tasks of parallelJobInfoList.

[0032] The technical solution provided by this application may have the following beneficial effects:

[0033] This application provides customization of atomic unit task environment dependencies through pipeline and atomic task templates, and free assembly of process topology diagram units. It combines the characteristics of Jenkins and k8s to automatically generate pipeline configurations. Based on the above configurations, resources can be dynamically scaled and horizontally expanded. At the same time, it supports the coexistence and governance of multiple build environments, and the disposal of containers after use, which can save a lot of resources, thereby realizing environmental governance and greatly reducing the threshold for use. At the same time, it can also provide intuitive visual process topology diagrams and process orchestration visualization.

[0034] In addition, through different triggers, the automation efficiency can be further improved, so that R&D and testing personnel only need to focus on the business, alleviating the work pressure of related personnel; at the same time, the system connects upstream and downstream tools, collects and visualizes the operation data of each stage, and uses intuitive visual data to ensure product quality. It can also assist enterprises to further explore R&D efficiency and formulate different R&D processes and strategies, lowering the threshold for R&D and testing personnel to use CI&CD, and at the same time solving problems such as cumbersome manual configuration, less intuitive process orchestration visualization, chaotic environmental governance, and scattered quality data. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 This is a step flow chart of a multi-environment coexistence configuration system and method based on a cloud-native visualization pipeline in this application.

[0036] Figure 2 This is the microservice deployment architecture diagram of this application.

[0037] Figure 3 It is a system function diagram of this application.

[0038] Figure 4 It is the object design diagram pre-configured by the system of this application.

[0039] Figure 5 This is a basic information configuration diagram of the visualization pipeline configuration of this application.

[0040] Figure 6 This is a schematic diagram of adding pipeline sources to the visual pipeline configuration of this application.

[0041] Figure 7 This is a task configuration diagram of the visual pipeline configuration of this application.

[0042] Figure 8 It is the atomic task template diagram of this application.

[0043] Fig. 9 It is a timing configuration diagram of the visualization pipeline configuration of this application.

[0044] Fig.10It is a variable configuration diagram of the visual pipeline configuration of this application.

[0045] Fig.11 It is a task model design diagram for automatic conversion of multiple build environment configurations of this application.

[0046] Fig.12 It is a class diagram for automatic conversion of multiple build environment configurations of this application.

[0047] Fig.13 This is the final result diagram of the automatic conversion of multiple build environment configurations of this application.

[0048] Fig.14 It is a schematic diagram of a custom nested object model in the automatic conversion of the inter-task process topology diagram configuration of this application.

[0049] Fig.15 It is a configuration structure diagram for automatic conversion of the inter-task process topology diagram configuration of this application.

[0050] Fig.16 It is a downstream task configuration structure diagram for automatic conversion of the inter-task process topology diagram configuration of this application.

[0051] Fig.17 This is an actual sample diagram of the automatic conversion of the inter-task process topology diagram configuration of this application.

[0052] Fig.18 This is a visualization of the process arrangement of this application.

[0053] Fig.19 This is a sample diagram of the visualization of the process arrangement of this application.

[0054] Fig. 20 It is a block diagram of an electronic device of the present application.

[0055] Fig.21 It is a block diagram of a computer-readable storage medium of the present application. DETAILED DESCRIPTION

[0056] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0057] Before introducing the cloud-native visualization pipeline multi-environment coexistence configuration system and method provided by this application, the professional terms involved in this application are first explained.

[0058] DevOps is a software development methodology that involves continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring of software throughout its development lifecycle. These activities can only be achieved in DevOps, not Agile or Waterfall, which is why top Internet companies choose DevOps as the way forward for their business goals. DevOps is the preferred method for developing high-quality software in shorter development cycles, which can improve customer satisfaction.

[0059] CI (Continuous Integration) is a software development practice where developers integrate their work multiple times a day. Each integration is verified by an automated build, allowing the team to discover integration errors as early as possible. The main goal of continuous integration is to provide fast feedback so that when integration errors occur, they can be located and fixed as quickly as possible, thereby reducing the time to resolve the problem.

[0060] CD (Continuous Delivery) is a software release process that uses automated testing to verify that changes to the code base are correct and stable so that they can be automatically deployed to the production environment immediately.

[0061] Jenkins is an open source software project. It is a continuous integration tool developed based on Java. It is used to monitor continuous repetitive work. It aims to provide an open and easy-to-use software platform that enables continuous integration of software projects.

[0062] Pipeline technology is a key technology currently widely used in microprocessor chips (CPU). Computer pipeline technology refers to a description of the execution method of each instruction inside the CPU.

[0063] Reference Figure 1 A multi-environment coexistence configuration system based on a cloud-native visual pipeline includes a system pre-configuration module, a visual configuration module, a configuration conversion module and a visual orchestration module. The system pre-configuration module performs credential configuration and image configuration; the visual configuration module is used to configure basic information, process configuration, trigger configuration, variables and cache for the pipeline; the configuration conversion module is used to realize automatic conversion of coexistence configurations of multiple build environments and automatic conversion of process topology configurations between tasks; the visual orchestration module is used to view orchestration status, task logs, orchestration results, duration and visual quality data in real time.

[0064] This configuration system is designed to lower the threshold for R&D and testing personnel to use CI&CD, while solving problems such as cumbersome manual configuration, unintuitive process orchestration visualization, chaotic environment management, and scattered quality data. It uses self-developed algorithms to realize task templating (building, testing, scanning, delivery, deployment), and unitized free assembly of process topology diagrams. It also provides customization of atomic unit task environment dependencies. Combined with the cloud-native features of Jenkins, it can realize dynamic scaling of resources and coexistence and management of multiple build environments. At the same time, the system connects upstream and downstream tools, integrates quality tools, manual checkpoints and other features, collects and visualizes operating data at each stage, and uses intuitive visual data to ensure product quality. It can also assist companies in further exploring R&D efficiency and formulating different R&D processes and strategies.

[0065] Reference Figure 1 , shows a flowchart of a method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline of the present application, which can be applied to electronic devices, wherein the method can specifically include the following steps:

[0066] In step S101, system pre-configuration is performed, including credential configuration and image configuration;

[0067] In step S102, a pipeline is created and a pipeline template is selected;

[0068] In step S103, basic information configuration, code source configuration, task configuration, trigger configuration and variable configuration are performed on the pipeline;

[0069] In step S104, the automatic conversion of multiple build environment configurations and the automatic conversion of process topology diagrams between tasks are realized by using a configuration conversion algorithm and a declarative pipeline syntax;

[0070] In step S105, based on the parameterized build feature of Jenkins, the task is scheduled to be executed on K8s, and the information is pushed to the front end through WebSocket technology to realize process orchestration visualization.

[0071] It can be seen that the multi-environment coexistence configuration method based on cloud-native visual pipeline provided by this application has the following advantages: (1) Visual configuration can be performed: freely assemble processes and specify their upstream and downstream relationships without learning other development languages, which greatly reduces the usage threshold. (2) Self-developed configuration conversion algorithm: jenkins pipeline and multi-build environment coexistence configuration are automatically generated to achieve multi-environment build coexistence, which can effectively solve the problem of large and chaotic environment and chaotic environmental management. (3) Process orchestration visualization: the pipeline and its task execution progress / results / logs can be viewed at any time. (4) High degree of automation: manual, timed, and trigger startup methods are provided to automatically execute tasks according to user-customized processes. (5) High concentration: data from scattered systems are collected to visualize quality data in a centralized manner, which is helpful for product quality assessment. (6) Cloud native: dynamic scaling of resources, exhaustion and closure of containers, and great savings in resource usage and improved resource utilization.

[0072] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions involved are not necessarily required by the present application.

[0073] The following is a detailed description of the multi-environment coexistence configuration solution based on the cloud-native visualization pipeline provided by this application, combined with a specific example.

[0074] 1. System Pre-configuration

[0075] Reference Figure 3 In this system, the core of pre-configuration is mainly credential management and image management; credential management mainly includes code hosting platform credentials and image pulling credentials, both of which are used for third-party platform authentication; image management mainly records image addresses, persistent configuration, and image pulling strategies and credentials. For related object designs, see Figure 4 ;

[0076] The specific implementation method is that the user creates an image, pushes it to the image hosting platform, and then registers the image in this system, and registers the code and the image hosting platform authentication credentials and container data persistence configuration at the same time.

[0077] 2. Visual pipeline configuration

[0078] Visual configuration see Figure 3 , Figure 5 , Figure 6 , Figure 7 and Figure 8The page provides a visual custom configuration entry. One pipeline can select different image environment versions to achieve coexistence of multiple container environments, and then persist the configuration data to the database through Java objects.

[0080] 1. Basic information configuration: The user selects a pipeline template (system preset or user-defined), and then the basic information and code source of the pipeline;

[0081] 2. In process configuration, users select task templates and configure basic information in tasks: image version (container environment), execution instructions, quality access control detection (specific task templates), quality redline settings (specific task templates) and manual checkpoints; advanced configuration supports task retry, enterprise WeChat notification, execution conditions and other configurations; after configuring task information, users can freely push and drag task blocks to assemble the topological relationship between tasks;

[0082] 3. In the trigger configuration, webhook triggering and branch matching are supported. Users can paste the URL provided by the platform on the code hosting platform and then fill in the branch regular expression. In addition to webhook triggering, visual timing configuration is also supported. Users only need to select to generate a timing expression, such as Fig. 9 As shown;

[0083] 4. In variable and cache configuration, users can implement parameterized construction by configuring variables. Multiple variable types are supported, such as variables, whether variables are private, environment variables, etc. Fig.10 As shown, then the value (shell environment) can be obtained through ${variable name}; In order to speed up the secondary build, this system provides a buildable cache for data persistence and speeding up the secondary build;

[0084] 3. Configuration Conversion

[0085] The configuration conversion algorithm of this system is self-developed. The configuration conversion algorithm benefits from the combination of Jenkins and cloud native. This application combines visual configuration to configure multiple dependent environments at the same time, and then combines the Jenkins pipeline syntax and self-developed conversion algorithm to achieve the advantages of multiple environments coexisting in one pod, sharing data during the period, and realizing the same build record. Different build commands can be executed in different container environments, avoiding the problems of large and chaotic build environment dependencies and chaotic environmental management. At the same time, it realizes dynamic scaling and horizontal expansion of resources, and discards containers after use. It has the advantages of saving a lot of resources and can achieve full automation:

[0086] In terms of configuration, this system is not based on a specific framework or model. Through a custom data model, the front-end and back-end are persisted to the database through a custom data model, which makes the coupling low and can be expanded horizontally. The custom data model is the cornerstone to ensure the coexistence of multiple container environments. At the same time, it has good scalability and is not limited to YAML. Then the data model is mapped with Java objects to persist the configuration data to the data.

[0087] The system configuration conversion algorithm does not need to be implemented through open source plug-ins, which solves the problems of poor scalability and low security and reliability.

[0088] It adopts declarative pipeline automatic generation, which is mainly divided into two parts: automatic conversion of multiple build environment configurations and automatic conversion of process topology configurations between tasks. For the visualization page, the above two parts are a single pipeline configuration, which is processed through the data structure agreed upon by the front-end and back-end and the back-end algorithm, and finally generates a configuration that conforms to the Jenkins pipeline syntax, and then manages the Jenkins tasks through the API interface.

[0089] 3.1. Automatic conversion of multiple build environment configurations

[0090] Reference Figure 2 With the feature of cloud-native pods running multiple containers, when integrating Jenkins cloud-native, the definition of pods can be defined through the declarative pipeline in the Jenkins file to define the multi-container environment configuration, so that one pod can run multiple containers. Moreover, the environments between containers are isolated, and data is shared through mounting. Each container has a unique identifier. During the build, multiple build environments can coexist through the unique identifier to execute different unitized build commands, so as to realize the multi-environment configuration of the visual pipeline.

[0091] Based on the unitized tasks, they can be assembled as background requirements at will, realizing the characteristics of isolation between task construction and environment, atomic construction and operation, etc. The task model design is shown in Fig.11 , which records the image information of each task configuration. The program parses the image configuration information, data mounting, credential secert and scheduling strategy information of each task in the object model, filters out duplicate images, data mounting and credential secert configuration, and then customizes the corresponding object model (such as secert, node, container and other objects, see the class diagram) in combination with the yaml configuration features of k8s. Fig.12), initialize the parsed image configuration into the custom object model, format it into a string through the toolkit, and then initialize the agent block in the jenkinspipeline and the kubernetes block syntax of the agent block according to the block idea, fill in the k8s name, namespace and permission account in the kubernetes block, and then assign the yaml result to the logic of the spec block. The final result is shown in Fig.13 .

[0092] 3.2. Automatic conversion of process topology configuration between tasks

[0093] According to the Jenkins declarative pipeline syntax requirements, the process topology diagram between the corresponding unit tasks is defined through a custom nested object model (see the class diagram Fig.14 ), combined with the syntactic requirements of Jenkins declarative pipeline's Groovy for stage serial and parallel connection, the Groovy syntax is extracted into blocks, and the configuration information is filled in according to the function of the block. The process steps are analyzed as follows:

[0094] 1. In the object model, the data injected into stageInfoDTO, the program obtains the root node, corresponding to the first stage information, and there are parallelJobInfoList and nextStageInfo. ParallelJobInfoList is the task configuration of this stage, which is a list. At this time, the stage block configuration is initialized to facilitate adding subsequent configurations to the block;

[0095] 2. The task field corresponds to the stage configuration of the pipeline: Each task information corresponds to a stage block. The configuration in the stage block will vary depending on the task type, but for simple description, most of the filling logic is the same. Fig.15 Configuration structure: the task stage contains steps block and post block, the steps block contains container block, and then the script block configuration. Each task information will have running environment dependency (configured in container block) and running script (configured in script block). Fill the corresponding block with the configuration as needed.

[0096] 3. Loop through parallelJobInfoList to obtain its build command, task type, plug-in configuration, build image, and downstream task information (nextJobInfo). If the length of parallelJobInfoList is greater than 1, it means that the stage has parallel tasks, and the pipeline syntax parallel block structure is required to include the tasks of parallelJobInfoList. Then each task information in parallelJobInfoList corresponds to a stage block. The configuration in the stage block will vary depending on the task type. Here is a simple description: it contains a steps block, which contains a container block, and then a script block configuration. Each task information will have running environment dependencies (configured in the container block) and running scripts (configured in the script block). Fill in the configuration as needed. Then parse the nextJobInfo information of the task node. If nextJobInfo is not empty, it is the downstream task of the task (serial task).

[0097] 4. For downstream tasks, similarly, initialize a stage block, serial tasks and parallel tasks. In the Jenkins pipeline configuration, the difference is that parallel tasks need to be wrapped with parallel blocks, while serial tasks need stage blocks to wrap stages blocks. All serial tasks are at the same level in the stages block, such as Fig.16 In the configuration, Build A, Build B, and Build C are executed in parallel, and Build B 1 and Build B 1 are executed in series, so the downstream task is in the same stages block as the upstream task; mapped to the program, the series task first initializes the stage block, then in the stage block, initializes the stages block again, and parses its upstream task, current task, and downstream task in turn, and fills in the configuration according to step 2;

[0098] 5. Analysis of downstream stage (corresponding to nextStageInfo field): For the analysis here, you can refer to step 4. The principle is still the analysis of downstream tasks.

[0099] Combining multiple build environment configurations and task execution order configurations together can form a Jenkins pipeline configuration. See the actual example. Fig.17 .

[0100] 4. Visualization of Process Orchestration

[0101] Process orchestration is process construction, which is based on parameterized construction, the need to trace back the construction records, and the real-time update requirements. Through the parameterized construction characteristics of Jenkins, the tasks are scheduled to be executed on k8s. Every time a unit task is started or finished, the system interface is called back to update the status of the pipeline and the task, and the running log of the task is obtained. At the same time, the front and back ends implement websocket technology to actively push update information to the front end, thereby realizing the real-time update requirements of the orchestration. See the effect diagram Fig.18 ; When running the pipeline, the build record is recorded at the same time to achieve build record backtracking. See the sample diagram Fig.19 .

[0102] This application can reduce the requirements for using CI&CD, productize TestOps and CI&CD practices, reduce manual maintenance, and release human resources and pressure. In terms of quality control, with the help of intuitive visual data, the quality of the product can be ensured through visual quality data, quality thresholds, and red line settings. It can also assist companies in further exploring R&D efficiency and formulating different R&D processes and strategies.

[0103] This application aims to lower the threshold for R&D and testing personnel to use CI&CD, and solve problems such as cumbersome manual configuration, unintuitive process orchestration visualization, chaotic environment management, and scattered quality data. It realizes task templating (building, testing, scanning, delivery, deployment) and free assembly of process topology diagrams through self-developed algorithms, while providing customization of atomic unit task environment dependencies. Combined with the cloud-native features of Jenkins, it can realize dynamic scaling of resources and coexistence and management of multiple build environments. At the same time, the system connects upstream and downstream tools, integrates quality tools, manual checkpoints and other features, collects and visualizes operating data at each stage, and uses intuitive visual data to ensure product quality. It can also assist companies in further exploring R&D efficiency and formulating different R&D processes and strategies.

[0104] Optionally, an embodiment of the present application further provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0105] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0106] Fig. 20 800 is a block diagram of an electronic device 800 shown in the present application. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0107] Reference Fig. 20 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .

[0108] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0109] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, images, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0110] The power supply component 806 provides power to the various components of the electronic device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.

[0111] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0112] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0113] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.

[0114] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the electronic device 800, and the sensor assembly 814 can also detect the position change of the electronic device 800 or a component of the electronic device 800, the presence or absence of contact between the user and the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and the temperature change of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0115] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, a carrier network (such as 2G, 3G, 4G or 5G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast operation information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0116] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.

[0117] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a processor 820 of an electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0118] Fig.2119 is a block diagram of a computer-readable storage medium 1900 shown in the present application. For example, the computer-readable storage medium 1900 may be provided as a server.

[0119] Reference Fig.21 , the computer-readable storage medium 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.

[0120] The computer readable storage medium 1900 may also include a power supply component 1926 configured to perform power management of the computer readable storage medium 1900, a wired or wireless network interface 1950 configured to connect the computer readable storage medium 1900 to a network, and an input / output (I / O) interface 1958. The computer readable storage medium 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™ or the like.

[0121] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0122] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0123] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0124] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0125] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0126] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0127] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0128] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0129] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.

[0130] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A multi-environment coexistence configuration system based on cloud native visualization pipeline, characterized in that: It includes a system pre-configuration module, a visualization configuration module, a configuration conversion module and a visualization orchestration module. The system pre-configuration module performs credential configuration and image configuration; the visualization configuration module is used to configure basic information, process configuration, trigger configuration, variables and cache for the pipeline; the configuration conversion module is used to realize automatic conversion of coexistence configurations of multiple build environments and automatic conversion of process topology configurations between tasks; the visualization orchestration module is used to view the orchestration status, task logs, orchestration results, duration and visualization quality data in real time.

2. A method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline, characterized in that: The method comprises: Perform system pre-configuration, including credential configuration and image configuration; Create a pipeline and select a pipeline template; Configure basic information, code source, tasks, triggers, and variables for the pipeline; Through the configuration conversion algorithm, declarative pipeline syntax is used to achieve automatic conversion of multiple build environment configurations and automatic conversion of process topology configurations between tasks; Based on the parameterized build feature of Jenkins, tasks are scheduled to K8s for execution, and information is pushed to the front end through WebSocket technology to achieve process orchestration visualization.

3. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 2 is characterized in that: The automatic conversion of multiple build environment configurations includes: Based on cloud native technology and the declarative pipeline syntax in the Jenkins file, a pod is defined. A pod runs multiple containers. Each container has a unique identifier. The container can coexist in multiple build environments through the unique identifier to execute different unitized build commands. Based on the yaml configuration characteristics of k8s, a custom object model is used to initialize the parsed image configuration into the object model, format it into a string through the toolkit, initialize the agent block in the jenkins pipeline and the kubernetes block syntax of the agent block, fill in the k8s name, namespace and permission account in the kubernetes block, and then assign the yaml result to the spec block.

4. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 2 is characterized in that: The automatic conversion of the inter-task process topology configuration includes: Custom object model, combined with Jenkins declarative pipeline's Groovy syntax for stage series and parallel connection, extracting Groovy syntax into stage blocks; Initialize the stage block configuration; Filling the stage block configuration; Loop through the parallelJobInfoList to obtain its build command, task type, plug-in configuration, build image, and downstream task information. Each task information in the parallelJobInfoList corresponds to a stage block, and parse the downstream task information. Perform downstream tasks; The downstream tasks are parsed.

5. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 2 is characterized in that: The basic information of the task configuration includes image version, execution instructions, quality access control detection, quality red line setting, manual checkpoints, task retry, enterprise WeChat notification and execution conditions.

6. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 2 is characterized in that: The trigger configuration supports webhook triggering, visual timing configuration and branch matching. Paste the URL provided by the platform on the code hosting platform and fill in the branch regular expression.

7. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 4 is characterized in that: Fill in the stage block configuration, including: The stage block is provided with a steps block and a post block, the steps block is provided with a container block and a script block, each of the task information has a running environment dependency and a running script, the environment dependency is configured in the container block, and the running script is configured in the script block.

8. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 3 is characterized in that: The parsed information of the object model includes image configuration information, data mounting, credential secert and scheduling policy information.

9. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 4 is characterized in that: In the object model, stageInfoDTO data is received, a root node is obtained, and the root node includes the first stage information. After the first stage information is extracted, an initialization operation is performed on one of the stage block configurations.

10. The method for configuring a multi-environment coexistence system based on a cloud-native visualization pipeline according to claim 4, characterized in that: When the length of parallelJobInfoList is greater than 1, the pipeline syntax parallel block structure includes the tasks of parallelJobInfoList.