CN117591164A - One-stop application software configuration collaboration and delivery method - Google Patents

One-stop application software configuration collaboration and delivery method Download PDF

Info

Publication number
CN117591164A
CN117591164A CN202311325748.4A CN202311325748A CN117591164A CN 117591164 A CN117591164 A CN 117591164A CN 202311325748 A CN202311325748 A CN 202311325748A CN 117591164 A CN117591164 A CN 117591164A
Authority
CN
China
Prior art keywords
configuration
version
configuration item
side subsystem
pipeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311325748.4A
Other languages
Chinese (zh)
Inventor
程舒晗
林征
陈花平
何达文
罗臻
陈丹丹
张新奥淇
宋新军
林蓓蓓
柯忻阳
陈晟胤
郭超年
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Rural Credit Union
Original Assignee
Fujian Rural Credit Union
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 Fujian Rural Credit Union filed Critical Fujian Rural Credit Union
Priority to CN202311325748.4A priority Critical patent/CN117591164A/en
Publication of CN117591164A publication Critical patent/CN117591164A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

The invention provides a one-stop application software configuration collaboration and delivery method, which is characterized in that a product and configuration parameter full life cycle management mode, a multidimensional configuration resource version management mode, a plurality of application frameworks are adapted, a visual assembly line is integrated, flexible arrangement and configuration resource collaborative release of the assembly line is realized, a system and a management method for centrally managing the application software product and the configuration parameter can be realized, the configuration parameter storage and pushing mode is standardized through unifying the nano-tube product, and the standardized assembly line is used for automatic construction and deployment, so that risks brought by manual operation are eliminated, and the configuration management efficiency is improved.

Description

One-stop application software configuration collaboration and delivery method
Technical Field
The invention relates to the technical field of computers, in particular to a one-stop application software configuration collaboration and delivery method.
Background
With rapid iteration of a bank science and technology system, at present, application software with various different architectures such as centralized, distributed, micro-service and the like exists, and related application software adopts different technical stacks, so that product and configuration parameter boundaries are fuzzy, used configuration parameter formats and configuration modes also have differences, and unified and standard delivery modes of the product and the configuration parameters are not formed. Meanwhile, each application software has a plurality of deployment environments such as a development environment, a test environment, a quasi-production environment, a verification environment, a production environment and the like, the number of hardware resources and application nodes in each environment is different, particularly the distributed deployment application software has more severe configuration requirements on the deployment nodes, and if the traditional manual delivery method is adopted to manage products and configuration parameters, the operation risk exists and the operation efficiency is low. Therefore, a system and a management method capable of centrally managing application software products and configuration parameters are urgently needed, the storage and pushing modes of the configuration parameters are standardized through unifying nano-tube products, and the standardized assembly line is used for automatic construction and deployment, so that risks caused by manual operation are eliminated, and the configuration management efficiency is improved.
Aiming at the situation, the invention of an application configuration management system, a method, equipment and a storage medium with publication number of CN115357304A and application date of 2022-8-24, and the invention of a distributed application parameter dynamic release system and method with publication number of CN111562950B and publication date of 2020-8-21 respectively provide release schemes of deployment media and configuration parameters under two distributed application architectures; the invention discloses a configuration management system and a method of a JAVA-based configuration center, which are disclosed by the invention with publication number of CN116302063A and application date of 2023-3-17, and introduces a configuration management system based on the JAVA application configuration center, so that the configuration parameters of the JAVA application are flexibly configured in a plurality of project environments; the invention discloses a service type software configuration management method and equipment with publication number of CN108717358A and application date of 2018-5-25, which provides a scheme aiming at software and hardware resource configuration planning and deployment on a server, but the scheme does not discuss version management modes of software installation packages and configuration files, and has popularization and adaptation limitations; the invention with publication number of CN101164062A and application date of 2006-1-12 is architecture for configuration and release management of group system software, which is based on source code management and aims at centralized management of application software release modes, but does not relate to unified management and control of automatic scripts for release.
The object of configuration management in the prior art includes hardware resource system configuration of application software running, products for deployment, configuration parameters that differ due to hardware differences, hereinafter referred to as "configuration resources". The solution is not related to version management of configuration resources, or only aims at specific architecture application software such as JAVA application, distributed application and the like, or the storage format of the configuration parameters is strictly limited, or the coupling of the configuration management content is high, and the limitation point of the solution is that uncertainty exists in the adaptation cost of the application software adaptation, and the cooperation of the application software associated resources and the improvement of delivery efficiency are limited.
Disclosure of Invention
The invention aims to solve the technical problem of providing a one-stop application software configuration collaboration and delivery method, a system and a management method capable of centrally managing application software products and configuration parameters, and the system and the management method are used for automatically constructing and deploying by using a standardized assembly line through unifying nano-tube products and standardizing configuration parameter storage and pushing modes so as to get rid of risks caused by manual operation and improve configuration management efficiency.
The invention provides a one-stop application software configuration collaboration and delivery method, which comprises a research and development side subsystem and an operation and maintenance side subsystem; the method specifically comprises the following steps:
Step 1, uniformly managing configuration parameter files, namely configuration items, based on application software and environmental information; each configuration item is associated with application software, environment information, a module type, a coding format, an IP address and a distribution path; the application software separates out mutually independent module types according to the functional modules, each module type is associated with a corresponding configuration item, the IP address is a server or mirror image IP address corresponding to the pushing operation of the configuration item, and the distribution path is a file path of the configuration item in the corresponding server or mirror image; by creating the configuration items and operating the configuration items, configuration parameter version management and inter-environment circulation are realized;
step 2, configuration collaborative delivery unified management is carried out on products generated by compiling and constructing an automated assembly line or uploaded by authorized users, version management is carried out on the stored products to form a product warehouse, products of an operation and maintenance side subsystem are promoted from a research and development side subsystem by the users, and the users use the automated assembly line to deploy the products of the appointed version to an appointed environment server;
and 3, generating a pipeline, namely producing products based on the construction type pipeline, pushing and deploying configuration items and the products to a specified server or mirror image through the deployment type pipeline according to project dimensions, wherein the pipeline comprises the construction type pipeline which is responsible for compiling and generating the products, the deployment type pipeline which is responsible for deploying the configuration items and the products, and the conventional type pipeline which is responsible for connecting construction types and deployment type operations in series.
Further, the step 1 is further specifically:
step 11, configuration item management of a research and development side subsystem, wherein a setting authority user performs new addition, duplication, inquiry, version comparison, modification, acquisition, pushing and deletion operations on the configuration item according to application software and environment information to generate a configuration item for operation and maintenance side subsystem operation implementation, namely, an operation configuration item, wherein the operation configuration item is divided into a base line version which synchronously exists in the research and development side subsystem and the operation and maintenance side subsystem and an implementation version to be implemented based on a project;
step 12, developing configuration promotion of a side subsystem; in the process of pushing a product for operation and maintenance side implementation to the operation and maintenance side subsystem by a set authority user, pushing a production configuration item stored by the research and development side subsystem to the operation and maintenance side subsystem together with the production configuration item, wherein the pushing operation is based on application software and associated items, each item for operation and maintenance side implementation corresponds to an operation and maintenance side subsystem work order number, and the pushing action is called promotion; after the promotion is successful, the operation and maintenance side subsystem generates a to-be-deployed production configuration item record with the same version according to the application software and the work order number of the push association; before the operation and maintenance side subsystem performs the operation of issuing the production configuration items, the promoted production configuration items are withdrawn from the research and development side subsystem according to the requirements, and after the withdrawal is successful, the operation and maintenance side subsystem cannot push the corresponding production configuration items to the server and the mirror image; repeating promotion of the production configuration items of different versions in the research and development side subsystem according to the requirements, and pushing the production configuration items of the latest promotion version to the corresponding production environment server and mirror image by the operation and maintenance side subsystem; recording the related promotion operation in an operation log of a development side subsystem configuration item;
Step 13, configuration of a research and development side subsystem is disabled; if the application software does not use the existing configuration items in the production environment, configuration item revocation operation is needed; setting authority users to select to-be-invalidated production configuration items in the base line version, and executing the invalidation operation; the research and development side subsystem generates a to-be-invalidated record of the production configuration item, and the to-be-invalidated record is transferred to the operation and maintenance side subsystem along with the promotion operation flow of the production product; after the promotion is successful, the operation and maintenance side subsystem generates the same record of to-be-voided production configuration item according to the application software and the work order number which are associated in the pushing process; in the operation and maintenance side subsystem, the revocation operation is jointly implemented with the deployment of the associated project, and after the deployment is successful, the base line versions of the production configuration project in the research and development side subsystem and the operation and maintenance side subsystem are jointly changed into a revoked state; if the obsolete baseline version needs to be restored, a production configuration item which is the same as the obsolete information needs to be newly established based on the item, and the restoration is performed after promotion to the operation and maintenance side subsystem and production implementation is completed; before the operation and maintenance side subsystem performs the operation of canceling the production configuration item, the research and development side subsystem cancels the promoted record to be canceling, and after the canceling is successful, the operation and maintenance side subsystem does not perform the original operation of canceling;
Step 14, operation and maintenance side subsystem configuration item management; the development side subsystem is promoted to the operation and maintenance side subsystem through the step 12 and the step 13, the operation and maintenance side subsystem generates a to-be-implemented version record of the operation and maintenance configuration item according to the application software, the configuration parameter file name, the work order number, the module type, the corresponding server or the mirror image IP address and the distribution path associated with promotion, and each promotion is provided with a different operation and maintenance configuration item version, and the operation and maintenance side subsystem operation and maintenance configuration item is synchronously added with the same implementation version and moves the original implementation version to the historical version; after the to-be-implemented production configuration item is successfully put into operation, the operation and maintenance side subsystem generates a base line version based on the implementation version, and if the base line version does not exist in the application software, a base line version record is newly added; if the base line version exists in the application software, the original base line version is covered, and the original base line version is moved to the history version; after the to-be-voided production configuration item is successfully put into operation, the operation and maintenance side subsystem sets the corresponding baseline version to be in a voided state.
Further, the step 11 is further specifically:
step 111, adding a configuration item; setting a new configuration item of a permission user, acquiring application software, configuration parameter file names, environment information, module types, coding formats, corresponding server or mirror image IP addresses, distribution paths and configuration item file contents, inputting the configuration item file contents in a mode of collecting from the server, directly importing the configuration item file contents by the user and directly filling pages, wherein a configuration item test environment version is derived from a development environment, verifying that the environment version is derived from the test environment, establishing a corresponding relation with a production base line version, and generating an initial version number based on a current timestamp after successful establishment;
Step 112, inquiring the configuration items; setting a permission user to inquire the content, environment information, module type, coding format, corresponding server or mirror image IP address, distribution path, modifier, modification time, configuration item history version and configuration item operation log through screening conditions, wherein the configuration item operation log records the file name, version number, operation record, operation user and operation time of the new addition, modification, deletion, collection and pushing operation of the configuration item;
step 113, modifying the configuration item; setting authority users to modify the content of the configuration items, acquiring and storing a change description, after the change description is successfully stored, newly adding a configuration item version, generating a latest version number based on a current timestamp, and moving the configuration item version before modification into a history version list;
step 114, copying the configuration item; setting authority users to obtain corresponding application software, configuration parameter file names, environment information, module types, coding formats, corresponding servers or mirror image IP addresses and distribution paths based on the selected configuration items, and producing new configuration items according to the contents of the selected configuration items, wherein the new configuration items generate an independent version number based on the current time stamp;
Step 115, deleting the configuration item; setting authority users to select non-baseline version configuration items, and deleting configuration items configuring all versions in batches when deleting operation is performed;
step 116, comparing the configuration item versions; setting authority users to carry out version comparison, selecting and comparing any two configuration items, and comparing the basic information of the selected configuration items with the content difference of the configuration item files; selecting and comparing any two versions of the same configuration item, and comparing the content difference of the configuration item files of the selected versions; when the configuration item is selected to be compared with the development side subsystem version and the operation side subsystem version, the configuration item file content difference of the selected environment and the production environment is compared; the part with different configuration parameters is highlighted;
step 117, collecting configuration items; in the process of creating or editing configuration items or selecting stock configuration items, when configuration item content collection is carried out, the latest version of configuration item content is collected from a selection server or a mirror image according to a configuration parameter file name, environment information, a module type, a coding format, a server or a mirror image IP address and a distribution path; after successful collection, the current version configuration item is covered, and the latest version configuration item is generated; storing the acquisition record into a configuration item operation log;
Step 118, pushing configuration items; selecting a configuration item for pushing, or configuring the configuration item for pushing in a deployment pipeline; pushing the configuration item content to a designated position of a server or a mirror image according to the configuration parameter file name, environment information, the module type, the coding format, the IP address of the server or the mirror image, a distribution path and a user and authority required by pushing operation; if the pushed file exists in the designated position, the original file is covered; the pushing record is stored in a pipeline execution log or a configuration item operation log;
step 119, creating a commissioning configuration item; the application software carries out iterative updating based on the projects, and each production is associated with one project; newly creating a production configuration item based on the application software item and the test environment or the verification environment through the verified version, and acquiring corresponding item information, application software, configuration parameter file names, environment information, module types, coding formats, corresponding operation and maintenance side servers or mirror image virtual IP addresses, distribution paths and configuration item file contents; after the creation is successful, the research and development side subsystem generates an initial version of the configuration item, and generates an initial version number based on the current timestamp, and the configuration item is pushed to the operation and maintenance side subsystem through promotion operation; after the operation and maintenance side of the created operation and maintenance configuration item is successful, converting the operation and maintenance side base line version cached at the development side, wherein the version number is the version number of the successful deployment version;
Step 1110, generating a commissioning configuration item based on the baseline; if the baseline version of the production configuration item exists, detecting the configuration item for operation and maintenance side implementation based on the baseline version and the application software item, modifying and storing the file content of the configuration item according to the test environment or the verification environment through the verified version, generating the latest implementation version of the production configuration item by the research and development side subsystem, and generating a version number based on the current timestamp, wherein the configuration item is pushed to the operation and maintenance side subsystem through promotion operation; the associated project is successfully implemented on the operation and maintenance side subsystem, the original baseline version is covered, and the version number of the baseline version is changed into the version number of the latest successfully deployed version.
Further, the step 2 is further specifically:
step 21, generating a product; the product sources in the research and development side subsystem are generated and uploaded from the automatic assembly line compiling and constructing, a version number is generated according to a time stamp when the product is created, and a unique digest value is calculated based on an SM3 encryption algorithm and used for a user to judge whether the product changes or not, and the digest value of the same product SM3 is the same; dividing a product warehouse by the generated product according to the application software, the associated project or the work order number; in the research and development side subsystem, the product can be repeatedly generated, the old version is divided into the history version for management after the generation, and after the verification of the latest version is passed, the process is promoted to the operation and maintenance side subsystem;
Step 22, product promotion; the product in the operation and maintenance side subsystem is sourced from promotion operation of the research and development side subsystem, promotion operation can simultaneously promote all products and configuration items related to the items, after promotion is successful, the operation and maintenance side subsystem generates a product warehouse according to application software and the work order numbers corresponding to the items, the product version in the warehouse is consistent with the research and development side subsystem, and each successful promotion of a product with different version can divide the old version into the historical version for management;
step 23, product warehouse; according to step 21 and step 22, an article warehouse is generated.
Further, in the step 23, the product warehouse includes 2 levels, the level 1 directory is a set formed by application software and associated items, the level 2 directory is a specific product, and the product and the application software module type have a one-to-one correspondence; the product warehouse of the research and development side subsystem supports downloading, viewing and deleting products in the product warehouse, and the product warehouse of the operation and maintenance side subsystem only allows users to download and view.
Further, the step 3 is further specifically:
step 31, pipeline generation; arranging a production line by adopting a graphical interface, connecting operation steps in series by using a directed graph, displaying a scheduling mode and an execution direction of the job, and storing; a plug-in and directed graph mode is adopted to create a pipeline, and after the function of the pipeline is verified to be correct, the pipeline is released; after the pipeline is successfully issued, generating a version number based on the timestamp of the issuing time point; each time a user issues a pipeline, a brand new version number is generated, so that version management of the pipeline is realized; the issued pipeline tasks can be executed in the research and development side subsystem and the operation and maintenance side subsystem, and the pipeline of the operation and maintenance side subsystem pushes the issued and verified pipeline from the research and development side subsystem through pipeline promotion operation;
Step 32, pipeline scheduling; acquiring flow driving information according to a pipeline; the method comprises the steps of placing driving information into a queue to be executed, taking out the driving information from the execution queue after the execution condition is met, associating an execution engine according to the driving information, creating a corresponding execution thread, and placing the thread into a thread pool to run concurrently; when the thread executes the script command, pushing the command meeting the security policy to the server to be executed or the Agent of the mirror image, driving the server to be executed or the Agent to execute the command of the mirror image, and returning an execution result; finally, the execution result is fed back to the operation user through the graphical page;
step 33, managing plug-ins; packaging the operation or script with commonality as a plug-in, and configuring parameters in the plug-in to realize operation logic; the plug-in is divided into a public class module, a construction class module and a deployment class module, the research and development side subsystem comprises the three modules, and the operation and maintenance side subsystem does not comprise the construction class module; the public class module is a plug-in unit which can be called by all pipelines, and comprises code pulling, SQL auditing, code scanning, automatic testing, task calling, user reminding and user notification; the building class module is a plug-in which can only be called in a building class pipeline, and comprises a building script execution and a Docker container operation; the deployment class module is a plug-in which can only be called in a deployment class pipeline, and comprises deployment script execution and configuration item pushing. The code pulling plug-in supports pulling files from a GIT source code repository or an SVN repository;
Step 34, automatic construction; starting a construction task according to the input starting parameters; starting to construct a special container, pulling codes in the container, calling plug-ins, and executing preset compiling commands according to the types of the application software modules; after compiling, generating a full mount installation file for deployment; if the user adopts incremental deployment, extracting the files required by the incremental deployment from the full-quantity installation files according to a package list provided in advance; finally, according to the production requirement, compressing the installation file into an installation package in a specified format, automatically pushing the installation package to a product warehouse, wherein the name of the installation package can be related to the type of the application software module;
step 35, automatic deployment; selecting a product to be deployed and a configuration item according to input starting parameters, confirming a resource group to be deployed, starting a deployment task, deploying the product, and pushing the configuration item;
step 36, task monitoring; checking the execution condition of the pipeline in real time through task monitoring, and dynamically displaying the execution log, transmission parameters and execution results of each operation step by using a pipeline directed graph; after the pipeline execution is finished, the related monitoring record is transferred to a history monitoring list for storage;
Step 37, executing a strategy; in a research and development side subsystem, a timing execution strategy is set for the pipeline, so that the pipeline is started at a fixed time, or a periodic execution strategy is set for the pipeline, the pipeline is repeatedly scheduled according to a certain time period, or an external calling strategy is set for the pipeline, and the specified pipeline is automatically operated after a hook of a Webhook system is triggered by a support GIT source code management system; each newly built executing strategy is stored in an executing strategy list, the unexecuted strategy is selected to be modified or deleted in the list, and the scheduling result of the executing strategy is checked.
Further, the operation steps are divided into three layers according to business logic, the third layer corresponds to actual execution instructions, the execution instructions are packaged by adopting a plug-in unit, a plurality of the execution instructions of the third layer jointly form a second layer instruction set, the second layer is used for setting serial or parallel operation logic of the instruction set, and the first layer is used for marking the stage; serial operation means that the second-layer instruction sets are sequentially executed in the same stage, and parallel operation means that the second-layer instruction sets are concurrently executed in the same stage.
Further, the step 36 further includes: the immediate intervention pipeline execution includes ignoring the operation step, re-executing the operation step, suspending the pipeline operation, resuming the pipeline operation, and forcibly suspending the pipeline operation.
Further, the step 35 is further specifically:
step 351, deploying a plug-in; the product deployment and the configuration item pushing are realized through the plug-in;
step 352, deployment linkage; the research and development side subsystem selects the appointed version of the product for automatic deployment, or automatically deploys the product generated by automatic construction according to the step 34; the operation and maintenance side subsystem only carries out automatic deployment according to the latest version of the product, after successful production, the operation and maintenance side subsystem configuration item generates a configuration item latest baseline version, and the research and development side subsystem configuration item synchronously generates the configuration item latest baseline version.
One or more technical solutions provided in the embodiments of the present invention at least have the following technical effects or advantages:
1. the full life cycle management of the configuration resources is realized through the system; the configuration parameters are stripped from the product, the on-line unified management is carried out on the split environments, the split authorities and the split modules, the configuration parameters are circulated in a closed loop in the non-production environment and the production environment, the controllable and various products and configuration parameter delivery can be realized only by simple setting of a user in cooperation with a visual assembly line arrangement mode, the manual intervention of product and configuration parameter release is reduced, and the automatic release efficiency and accuracy are improved.
2. Realizing multi-dimensional configuration resource version management; version control is conducted on configuration parameter modification records, refined management is conducted in sub-environments, meanwhile, a base line version concept is introduced, a mapping relation between a non-production environment version and a production base line version is established, and a flexible version comparison function is supported; meanwhile, a unified product warehouse is built for the products, and the warehouse-in version and the deployment record are recorded; thereby realizing configuration resource management collaboration, retrospection and asset.
3. Configuring parameter management and adapting to centralized, distributed and micro-service architecture application software; the configuration parameter management mainly focuses on application software, is compatible with various architectures of centralized, distributed and micro-service, the configuration parameter storage is adapted to a main stream text format, the transformation cost of application software access is reduced, and the application software functional module, the deployment server or the mirror image, the environment and the configuration parameters are correspondingly established, so that an instant, flexible and easy-to-use parameter configuration and release mechanism is realized.
4. The assembly line arrangement function of the visual low code is realized; different from the traditional pipeline which adopts the Groovy grammar programming, in the graphical page programming pipeline, a user can realize the construction and deployment scheduling operation by only configuring a small amount of parameters or a main stream script language (comprising Python, shell, javaScript, bat, powerShell) on a plug-in setting interface in an integrated plug-in way, supports the version management and dynamic operation tracking of the pipeline, has low learning cost of a platform and controllable migration cost, and displays the automatic delivery from source code integration to product and configuration parameters through a visual flow.
The foregoing description is only an overview of the present invention, and is intended to be implemented in accordance with the teachings of the present invention in order that the same may be more clearly understood and to make the same and other objects, features and advantages of the present invention more readily apparent.
Drawings
The invention will be further described with reference to examples of embodiments with reference to the accompanying drawings.
FIG. 1 is a schematic diagram of a framework of the method of the present invention;
fig. 2 is a flow chart of the present invention.
Detailed Description
As shown in fig. 1 and 2, an embodiment of the present application provides a method for collaboration and delivery of one-stop application software configuration, including:
system architecture
The application software configuration collaboration and delivery system (hereinafter referred to as "configuration collaboration delivery system") is composed of two parts: the development side subsystem and the operation side subsystem are respectively.
The environment that incorporates configuration parameter management consists of two parts: the non-production environment is mainly used for developing, testing and accepting functions of the application software, and the production environment is mainly used for providing formal external services for the application software.
The research and development side subsystem manages non-production environment configuration parameters, the operation and maintenance side subsystem manages production environment configuration parameters, the two subsystems operate independently, and controllable data transmission is realized through a firewall security policy. Both subsystems comprise three functional modules of pipeline tasks, product management and configuration management.
The pipeline task module is responsible for automatic compiling and constructing products and automatic deploying the products, and supports the configuration parameters to be issued to the appointed equipment in the deployment process, the research and development side subsystem comprises pipeline generation, pipeline scheduling, plug-in management, automatic construction, automatic deployment, task monitoring and execution strategy functions, and the operation and maintenance side subsystem comprises pipeline scheduling, plug-in management, automatic deployment and task monitoring functions.
The product management module is responsible for managing deployment and use of products and historical versions thereof, the research and development side subsystem comprises product generation, product warehouse and product promotion functions, and the operation and maintenance side subsystem only comprises product warehouse functions.
The configuration management module is responsible for managing the mapping relation between the configuration parameter version and the service node equipment, and comprises the functions of research and development side configuration item management, operation and maintenance side configuration item management, configuration promotion and configuration revocation.
The specific function description of each module is shown in fig. 1.
(II) principal function and procedure
With reference to fig. 2, the main functions and processes of each module of the configuration collaborative delivery system are as follows:
1. configuration management module
The configuration collaborative delivery system uniformly manages configuration parameter files (hereinafter referred to as configuration items) based on application software and environment information, and each configuration item is associated with the application software and the environment information, and also is associated with a module type, a coding format, an IP address and a distribution path; the application software separates out independent module types according to the function modules, each module type is associated with a specific configuration item, the IP address is a server or mirror image IP address corresponding to the pushing operation of the configuration item, and the distribution path is a file path of the configuration item in the corresponding server or mirror image. The configuration management module creates a configuration item, operates the configuration item, realizes configuration parameter version management and inter-environment circulation functions, and has the main functions and steps as follows:
Step 1: development side configuration item management. The authorized user performs operations of adding, copying, inquiring, comparing versions, modifying, collecting, pushing and deleting configuration items according to application software and environment, generates configuration items for operation and maintenance side operation implementation (hereinafter referred to as "operation configuration items"), and the operation configuration items are divided into a baseline version (hereinafter referred to as "baseline version") synchronously existing in a research and development side subsystem and an operation and maintenance side subsystem, a version to be implemented based on the project (hereinafter referred to as "implementation version"), wherein the baseline version can be updated and covered, but cannot be deleted, and main steps are as follows.
Step 1.1: and adding a configuration item. The authorized user newly adds the configuration item, needs to fill in application software, configuration parameter file names, environment information, module types, coding formats, corresponding server or mirror image IP addresses, distribution paths, configuration item file contents, configuration parameter file supports properties, xml, yml, txt, conf, ini, cfg, json and other mainstream configuration storage formats, and the configuration collaborative delivery system supports configuration item file contents input in a mode of collecting from the server, directly importing the configuration item file from the user and directly filling in pages, and has no limitation on the configuration parameter filling formats. The configuration item testing environment version is derived from a development environment, the verification environment version is derived from the testing environment, a corresponding relation is established between the verification environment version and a production baseline version, and after the verification environment version is successfully established, an initial version number is generated based on a current timestamp.
Step 1.2: and querying the configuration items. The authorized user inquires the content, the environment information, the module type, the coding format, the corresponding server or the mirror image IP address, the distribution path, the modifier, the modification time, the historical version of the configuration item and the operation log of the configuration item through screening conditions, and the operation log of the configuration item records the file name, the version number, the operation record, the operation user and the operation time of the new addition, the modification, the deletion, the acquisition and the pushing operation of the configuration item.
Step 1.3: the configuration item is modified. And the authorized user modifies the content of the configuration item, after filling in the change description, the configuration item is saved, after the saving is successful, a configuration item version is newly added, the latest version number is generated based on the current timestamp, and the configuration item version before modification is moved into the history version list.
Step 1.4: the configuration item is replicated. Based on the selected configuration item, the authorized user fills in application software, configuration parameter file name, environment information, module type, coding format, corresponding server or mirror image IP address and distribution path, copies the content of the selected configuration item, thereby realizing the migration of the configuration item across environments, servers or mirror images, and the configuration item generated by copying generates an independent version number based on the current timestamp.
Step 1.5: and deleting the configuration item. And selecting the non-baseline version configuration items by the authorized user, clicking and deleting the configuration items of all versions in the configuration collaborative delivery system, and supporting batch deletion.
Step 1.6: and comparing the configuration item versions. The authorized user performs version comparison, selects and compares any two configuration items, and configures the collaborative delivery system to compare the basic information (including configuration parameter file names, environment information, module types, coding formats, server or mirror image IP addresses and distribution paths) of the selected configuration items with the content difference of the configuration item files; any two versions of the same configuration item are selected and compared, and the configuration collaborative delivery system is configured to compare the content difference of the configuration item files of the selected versions; selecting and comparing the versions of the development side and the operation side of the configuration item, and configuring a collaborative delivery system to compare the content difference of the configuration item file of the selected environment and the content difference of the configuration item file of the production environment; the portion where there is a difference in the configuration parameters will be prompted by a code highlighting.
Step 1.7: and collecting configuration items. In the process of creating or editing configuration items by a user with authority, or selecting stock configuration items, clicking and collecting the configuration items, the configuration collaborative delivery system collects the latest version of configuration item contents from a selection server or a mirror image according to the configuration parameter file name, environment information, module type, coding format, server or mirror image IP address and distribution path; after successful collection, the user can cover and configure the current version configuration item in the collaborative delivery system to generate the latest version configuration item; and supporting batch collection of configuration items, wherein collection records can be checked in a configuration item operation log.
Step 1.8: pushing configuration items. A step of selecting a configuration item by a user with authority, clicking push, or configuring the push configuration item in an automatic deployment pipeline; the configuration collaborative delivery system pushes the content of the configuration item to the appointed position of the server or the mirror image according to the file name of the configuration parameter, the environment information, the module type, the coding format, the IP address of the server or the mirror image, the distribution path and the user and the authority required by pushing operation; if the pushed file exists in the designated position, the original file is covered; and supporting batch pushing of configuration items, and enabling a user to view pushing records in a pipeline execution log or a configuration item operation log.
Step 1.9: and creating a commissioning configuration item. The application software is iteratively updated based on the items, one item being associated with each production. The authorized user establishes a production configuration item based on the application software item and the version passing verification of the test or verification environment, fills in item information, application software, configuration parameter file names, environment information, module types, coding formats, corresponding operation and maintenance side servers or mirror image virtual IP addresses (virtual addresses generated based on the conversion of the real IP addresses of the operation and maintenance side), distribution paths and file contents of the configuration item; after the creation is successful, an operation side initial version of the configuration item is generated, an initial version number is generated based on the current timestamp, and the configuration item is pushed to the operation side subsystem through promotion operation. The associated project is successfully implemented at the operation and maintenance side, namely, after the created production configuration project is successfully deployed at the operation and maintenance side, the operation and maintenance side base line version cached at the development side is converted, and the version number is the version number of the successfully deployed version. The production configuration item supports a step 1.3 modification function, a step 1.5 deletion function and a step 1.6 version comparison function, supports dimension inquiry configuration item file contents and historical versions based on item information, virtual IP addresses, distribution paths, module types, configuration parameter file names, states (whether baseline versions are distinguished and whether promotion is performed or not) and the like, and supports inquiry of new addition, modification, deletion and promotion operation logs of production configuration items by users.
Step 1.10: a commissioning configuration item is generated based on the baseline. If the baseline version of the production configuration item exists, the authorized user detects the configuration item (the English name is a checkout) for operation and maintenance side implementation based on the baseline version and the application software item, modifies and stores the file content of the configuration item according to the non-production environment version, generates the latest implementation version of the operation and maintenance side of the production configuration item, and generates a version number based on the current timestamp, wherein the configuration item is pushed to the operation and maintenance side subsystem through promotion operation. And the associated project is successfully implemented at the operation and maintenance side, namely, after the generated production configuration project is successfully deployed at the operation and maintenance side, the original baseline version is covered, and the baseline version number is changed into the version number of the latest successful deployment version. User created production configuration item modification, deletion, version comparison, query configuration item file content, query history version and query operation log function are consistent with the baseline generated production configuration item.
Step 2: and configuring promotion. In the process of pushing a production package (hereinafter referred to as a product) for operation and maintenance side implementation to an operation and maintenance side subsystem, a authorized user needs to push the production configuration item stored in the development side subsystem created or generated in step 1 to the operation and maintenance side subsystem together with the production product, the pushing operation is based on application software and associated items, each item for operation and maintenance side implementation also corresponds to an operation number (hereinafter referred to as a work order number) of the operation and maintenance side subsystem, and the pushing action is called promotion. After the promotion is successful, the operation and maintenance side subsystem generates a to-be-deployed production configuration item record with the same version according to the application software and the work order number associated with pushing. Before the operation and maintenance side performs the operation of issuing the production configuration items, the user can cancel the promoted production configuration items at the research and development side subsystem, and after the cancellation is successful, the operation and maintenance side subsystem cannot push the corresponding production configuration items to the server and the mirror image. Users can repeatedly promote the production configuration items of different versions in the research and development side subsystem, and the operation and maintenance side subsystem pushes the production configuration items of the latest promotion version to the corresponding production environment server and mirror image. The promotion related operation is recorded in the operation log of the development side subsystem configuration item.
Step 3: configuration is disabled. If the application software does not use the existing configuration items in the production environment, configuration item revocation operation is needed; selecting a to-be-voided production configuration item in the baseline version by the authorized user, and executing voiding operation based on the application system and the associated item; the research and development side subsystem generates a to-be-invalidated record of the production configuration item, and the record follows the promotion operation flow of the production product to the operation and maintenance side; after the promotion is successful, the operation and maintenance side subsystem generates the same record of to-be-voided production configuration item according to the application software and the work order number which are associated in the pushing process; on the operation and maintenance side, the nullification operation is implemented together with the automation deployment of the associated project, and after the deployment is successful, the baseline versions of the production configuration project in the research and development side subsystem and the operation and maintenance side subsystem are changed into nullified states together. If the user restores the voided baseline version, a production configuration item which is the same as the voided information (the content of the configuration item file can be different) needs to be newly established based on the project, and the user is restored after promotion to the operation and maintenance side and production implementation is completed. Before the operation and maintenance side performs the operation of canceling the production configuration item, the user can cancel the advanced record to be canceled after the research and development side subsystem is successful, and the operation and maintenance side subsystem will not perform the original operation of canceling.
Step 4: operation side configuration item management. The development side subsystem puts into production configuration items through step 2 and step 3 and promotes to the operation and maintenance side subsystem, the operation and maintenance side subsystem produces to-be-implemented version records of the put into production configuration items according to the application software, the configuration parameter file name, the work order number, the module type, the corresponding server or the mirror image IP address and the distribution path associated with promotion, each time a user promotes, different put into production configuration item versions, the operation and maintenance side put into production configuration items are synchronously increased by one same implementation version, and the original implementation version is moved to a historical version. After the to-be-implemented production configuration item is successfully put into operation, the operation and maintenance side subsystem generates a base line version based on the implementation version, if the base line version does not exist in the application software, a base line version record is added, otherwise, the original base line version is covered, and the original base line version is moved to the history version. After the to-be-voided production configuration item is successfully put into operation, the operation and maintenance side subsystem sets the corresponding baseline version to be in a voided state. The operation and maintenance side subsystem does not support deleting the generated configuration item record, supports a authorized user to screen the configuration item in the list, supports checking the details of the selected configuration item, and supports comparing the configuration item versions. The user selects and compares any two production configuration items (comprising an implementation version and a baseline version), and the configuration collaborative delivery system compares the basic information (comprising a configuration parameter file name, a module type, a coding format, a server or mirror image IP address and a distribution path) of the selected configuration items with the content difference of the configuration item files; any two versions of the same production configuration item are selected and compared, and the configuration collaborative delivery system is configured to compare the content difference of the configuration item files of the selected versions; the portion where there is a difference in the configuration parameters will be prompted by a code highlighting.
2. Product management module
The configuration collaborative delivery system uniformly manages the products which are generated by compiling and constructing an automated assembly line or uploaded by authorized users, carries out version management on the stored products to form a product warehouse, the operation and maintenance side subsystem products are promoted by the users from the research and development side subsystem, and the users deploy the appointed version products stored by the module to an appointed environment server by using the automated assembly line, wherein the main functions and steps are as follows:
step 5: and (5) generating the product. The products in the research and development side subsystem are generated from automatic pipeline compiling construction and uploaded by authorized users, and the version numbers are generated according to the time stamps of the creation time points. And each time a product is generated, a unique digest value is calculated based on an SM3 encryption algorithm, the digest value is used for a user to judge whether the product is changed, and the digest values of the same product SM3 are the same. The generated products divide the product warehouse according to the application software, the associated items (only existing in the research and development side subsystem) or the work order numbers (only existing in the operation and maintenance side subsystem, having one-to-one correspondence with the associated items); in the research and development side subsystem, the product can be repeatedly generated, the old version is divided into the history version for management, and after the latest version passes verification, the old version is promoted to the operation and maintenance side subsystem.
Step 6: product promotion. The product in the operation and maintenance side subsystem is sourced from the promotion operation of the research and development side subsystem, the promotion operation can promote all products and configuration items associated with the items at the same time, after promotion is successful, the operation and maintenance side generates a product warehouse according to the application software and the work order numbers corresponding to the items, the product version in the warehouse is consistent with the research and development side, and each time a product of different versions is promoted successfully, the old version is classified into the historical version for management.
Step 7: and (5) storing the products. According to step 5 and step 6, a product warehouse is produced, wherein the product warehouse comprises 2 layers, a level 1 catalog is a set formed by application software and associated items, a level 2 catalog is a specific product, and the products and the application software module types have a one-to-one correspondence. On the research side, the product warehouse supports the user to download, view and delete all products in the warehouse, also supports the user to download, view and delete selected version products, and on the operation side, the product warehouse and the warehouse products only support the user to download, view. Any version of product support is moved to other product warehouses, after the product support is moved, records in the original product warehouse disappear, the product support is moved into the warehouse to collect the newly added and migrated version of the product, and if conflict exists, the latest version is marked by a user.
3. Pipeline module
The module generates a pipeline, products are produced based on the construction type pipeline, then configuration items and the products are pushed and deployed to a specified server or mirror image through the deployment type pipeline according to project dimensions, the pipeline comprises the construction type pipeline which is responsible for compiling and generating the products, the deployment type pipeline which is responsible for deploying the configuration items and the products, and the conventional type pipeline which is responsible for connecting the construction type and the deployment type operation in series, and the main functions and steps are as follows:
step 8: and (5) generating a pipeline. The configuration collaborative delivery system adopts a graphical interface to arrange a pipeline, the pipeline uses a directed graph, the operation steps are connected in series, the scheduling mode and the execution direction of the job are displayed, and finally, the configuration collaborative delivery system is stored in a json format in a system persistence layer. The operation steps are divided into three layers according to service logic, the third layer corresponds to an actual execution instruction, the system packages the execution instruction by using a plug-in unit, a plurality of the execution instructions of the third layer jointly form a second-layer instruction set, the second layer is used for designating serial or parallel operation logic of the instruction set, and the first layer is used for marking a stage; the serial operation indicates that the second-layer instruction set is executed in sequence in the same stage, the parallel operation indicates that the second-layer instruction set is executed concurrently in the same stage, and the system adopts a mutually nested mode of serial execution and parallel execution to meet the scheduling requirements of the pipeline workflow in different scenes. A flow line is established by a user with authority by using the plug-in and the directed graph, and the flow line is released after the function of the flow line is verified to be correct; after the pipeline is successfully issued, generating a version number based on the timestamp of the issuing time point; each time a user issues a pipeline, a brand new version number is generated, so that version management of the pipeline is realized; a user can compare any version of the pipeline and execute any version of the pipeline; the issued pipeline tasks can be executed in the research and development side subsystem and the operation and maintenance side subsystem, and the operation and maintenance side pipeline is pushed from the research and development side through pipeline promotion operation by a user.
Step 9: and (5) pipeline scheduling. After the assembly line is started, analyzing the json format flow chart arranged in the step 8, and obtaining flow driving information; the method comprises the steps of placing driving information into a queue to be executed, taking out the driving information from the execution queue after the execution condition is met, associating an execution engine according to the driving information, creating a corresponding execution thread, and placing the thread into a thread pool to run concurrently; when the thread executes the script command, the system pushes the command meeting the security policy to the server to be executed or the Agent of the mirror image, and the Agent drives the server to be executed or the Agent to execute the command and returns an execution result; and finally, feeding back the execution result to the operation user through the graphical page. The configuration collaborative delivery system adopts three scheduling modes, namely, common scheduling which is completely executed according to a directed graph flow direction, batch scheduling which is designated according to plug-in configuration parameters (in the mode, operation steps form an operation set and are executed in batches according to user requirements), gray level scheduling which is set according to pipeline starting parameters (in the mode, a server to be deployed or a mirror image repeatedly executes a pipeline according to priority batches), if the pipeline pushes a configuration item, the configuration item is issued to a corresponding server or the mirror image according to the pipeline scheduling mode, and all scheduling actions are automatically executed by the system.
Step 10: and managing plug-ins. And the configuration collaborative delivery system packages the operation or script with commonality into a plug-in by using JAVA language, and a user configures a small amount of parameters in the plug-in to realize the operation logic which is originally required to be encoded. The plug-in is divided into three modules of public class, construction class and deployment class for users according to operation purposes, the research and development side subsystem comprises the three plug-in modules, and the operation and maintenance side subsystem does not construct the class plug-in modules. The public class plug-in is a plug-in which can be called by all pipelines, and comprises code pulling, SQL auditing, code scanning, automatic testing, task calling, user reminding and user notification; the building class plug-in is a plug-in which can only be called in a building class pipeline and comprises a building script execution and a Docker container operation; the deployment class plug-in is a plug-in which can only be called in a deployment class pipeline, and comprises deployment script execution and configuration item pushing. The code pulling plug-in supports pulling files from a GIT source code warehouse or an SVN warehouse, the 'SQL audit, code scanning and automatic test' plug-in supports calling a third party tool to participate in a pipeline DevOps flow, the task calling plug-in supports calling other pipelines as an operation step, the user reminding plug-in supports the user to carry out breakpoint confirmation midway, the user informing plug-in supports informing specific users by using communication software, the dock container operating plug-in supports the user to execute container commands such as starting, stopping and the like, the configuration item pushing plug-in supports the configuration item to be sent to a designated server and a mirror image, and the script execution and deployment script execution plug-in supports the script written by calling Python, shell, javaScript, bat, powerShell in the construction step or the deployment step respectively.
Step 11: and (5) automatic construction. The authorized user inputs the starting parameters to start the construction task. Configuring a collaborative delivery system to start a special container, pulling a substitution code in the container, calling a 'construction script execution' plug-in, and executing a preset compiling command according to the type of an application software module; after compiling, generating a full mount installation file for deployment; if the user adopts incremental deployment, extracting the files required by the incremental deployment from the full-quantity installation files according to a package list provided in advance; and finally, compressing the installation file into an installation package in a specified format according to the production requirement, automatically pushing the installation package to a product warehouse, and associating the installation package name with the module type. In the construction flow, the assembly line is supported to automatically initiate SQL audit and code scanning, and the installation package generated by packaging is supported to be deployed in any environment of the application software.
Step 12: and (5) automatic deployment. The authorized user inputs starting parameters, selects the products and configuration items to be deployed, confirms the resource groups to be deployed (user-defined service node equipment sets with the same functions), starts an automatic deployment task, deploys the products and pushes the configuration items.
Step 12.1: the plug-in is deployed. The method comprises the steps that the product deployment uses a deployment script execution plug-in, and the basic elements of the deployment script execution plug-in comprise names, module types, resource groups, resource group application identifiers, scripts, execution users, execution parameters and failure processing; the configuration item pushing uses a configuration updating plug-in, and the basic elements of the configuration updating plug-in comprise names, module types, resource groups, resource group application identifiers, execution users and execution authorities, wherein the execution authorities are defined for the configuration item when the execution users are users needing to log in when the Agent executes pushing operation, and the execution authorities are authorities defined for the configuration item when the Agent executes pushing operation. In the execution process, the deployment strategy is executed by common scheduling according to the resource group and the module type, and the common scheduling refers to the system to execute the pipeline steps in sequence according to the pipeline directed graph; according to the module type, the resource group and the priority of the resource group, the deployment strategy is executed in a gray level scheduling mode, the gray level scheduling refers to that a system firstly divides deployment into a plurality of batches according to the priority, the lower the priority is, the earlier the deployment is executed, the same batch is executed, only the products and the pushing configuration items are deployed on the resource group corresponding to the priority, and each batch needs to be completely executed through a pipeline; and executing the deployment strategy in batch scheduling according to the module type, the resource group and the resource group application identifier, wherein the batch scheduling refers to the service nodes under the same module type and resource group, and the product and the pushing configuration item can be deployed in batches according to different application identifiers.
Step 12.2: and (5) deployment linkage. The research and development side subsystem can select a specified version of the product for automatic deployment, or automatically deploy the product automatically constructed and generated according to the step 11; and the operation and maintenance side subsystem only carries out automatic deployment according to the latest version of the product, after the production is successful, the operation and maintenance side subsystem configuration item generates a configuration item latest baseline version according to the step 4, and the research and development side subsystem configuration item synchronously generates the configuration item latest baseline version according to the step 1.9 and the step 1.10. After the development side subsystem is deployed successfully, the automatic initiation performance test, the automatic UI test and the automatic interface test are supported, and the step 11 is combined to realize a DevOps full-flow agile development mode.
Step 13: and (5) task monitoring. The authorized user checks the execution condition of the pipeline in real time through task monitoring, and the configuration collaborative delivery system dynamically displays the execution log, the transmission parameters and the execution result of each operation step by using the pipeline directed graph, so that the user is supported to intervene in the pipeline execution in real time, and the method comprises the steps of ignoring the operation steps, re-executing the operation steps, suspending the pipeline operation, resuming the pipeline operation and forcibly suspending the pipeline operation; after the pipeline is executed, the relevant monitoring record is transferred to a history monitoring list for storage.
Step 14: the policy is enforced. In the research and development side subsystem, a user with authority sets a timing execution strategy for the pipeline, so that the pipeline is started at a fixed time, or a period execution strategy is set for the pipeline, the pipeline is repeatedly scheduled according to a certain time period, or an external calling strategy is set for the pipeline, and the specified pipeline is automatically operated after the support GIT source code management system triggers a Webhook system hook. Each newly built executing strategy is stored in an executing strategy list, and a user can modify or delete unexecuted strategies in the list to check the dispatching result of the executing strategy.
The technical scheme provided in the embodiment of the application has at least the following technical effects or advantages:
1. the management efficiency of configuration resources is improved, and the manual release cost is saved; in the release process, the product and the configuration parameters are deployed manually, so that certain operation risks exist, the processing efficiency is low, and the maintenance cost of the configuration parameters is high. According to the invention, a set of automatic, visual and standardized configuration resource management system is built, repeated work of research personnel and operation and maintenance personnel is reduced, the manual maintenance cost of configuration parameters is saved, the product and configuration parameter deployment errors caused by information asymmetry are reduced, the efficiency and accuracy of an automatic deployment assembly line are improved, and the management concept of green finance is revealed.
2. Decoupling configuration parameters from the product to realize asset management of configuration resources; according to the invention, the full life cycle management mode of the product and the configuration parameters is created, the configuration parameters are separated from the product, the version management is carried out on the configuration parameter modification record, the requirements of developing sub-environment, sub-right and sub-module fine management on the configuration parameters are met, the coupling of the configuration parameter deployment stage is reduced, the product version and circulation are uniformly managed and controlled through the product warehouse, the product and the configuration parameters are cooperatively released in cooperation with the assembly line, the accurate delivery of the deployment content in the non-production environment and the production environment is ensured, and the on-line, retrospective and asset management of the configuration resources is realized.
3. The architecture is wide in compatibility, and the team DevOps efficiency is improved by combining a visual assembly line; the assembly line adopts a convenient, flexible and modularized visual arrangement and display technology, reduces the design and maintenance cost of an automatic assembly line, and is convenient and efficient to feed back the development requirements. Meanwhile, the product and the configuration parameter manage and adapt the centralized, distributed and micro-service architecture application software, the configuration parameter storage and adaptation main stream text format is not particularly limited to configuration content, project team can evaluate the product delivery quality conveniently, and a more stable, reliable and mature DevOps flow is built.
While specific embodiments of the invention have been described above, it will be appreciated by those skilled in the art that the specific embodiments described are illustrative only and not intended to limit the scope of the invention, and that equivalent modifications and variations of the invention in light of the spirit of the invention will be covered by the claims of the present invention.

Claims (9)

1. The one-stop application software configuration collaboration and delivery method is characterized by comprising a research and development side subsystem and an operation and maintenance side subsystem; the method specifically comprises the following steps:
step 1, uniformly managing configuration parameter files, namely configuration items, based on application software and environmental information; each configuration item is associated with application software, environment information, a module type, a coding format, an IP address and a distribution path; the application software separates out mutually independent module types according to the functional modules, each module type is associated with a corresponding configuration item, the IP address is a server or mirror image IP address corresponding to the pushing operation of the configuration item, and the distribution path is a file path of the configuration item in the corresponding server or mirror image; by creating the configuration items and operating the configuration items, configuration parameter version management and inter-environment circulation are realized;
Step 2, configuration collaborative delivery unified management is carried out on products generated by compiling and constructing an automated assembly line or uploaded by authorized users, version management is carried out on the stored products to form a product warehouse, products of an operation and maintenance side subsystem are promoted from a research and development side subsystem by the users, and the users use the automated assembly line to deploy the products of the appointed version to an appointed environment server;
and 3, generating a pipeline, namely producing products based on the construction type pipeline, pushing and deploying configuration items and the products to a specified server or mirror image through the deployment type pipeline according to project dimensions, wherein the pipeline comprises the construction type pipeline which is responsible for compiling and generating the products, the deployment type pipeline which is responsible for deploying the configuration items and the products, and the conventional type pipeline which is responsible for connecting construction types and deployment type operations in series.
2. The method for one-stop application configuration collaboration and delivery according to claim 1, wherein the step 1 is further specifically:
step 11, configuration item management of a research and development side subsystem, wherein a setting authority user performs new addition, duplication, inquiry, version comparison, modification, acquisition, pushing and deletion operations on the configuration item according to application software and environment information to generate a configuration item for operation and maintenance side subsystem operation implementation, namely, an operation configuration item, wherein the operation configuration item is divided into a base line version which synchronously exists in the research and development side subsystem and the operation and maintenance side subsystem and an implementation version to be implemented based on a project;
Step 12, developing configuration promotion of a side subsystem; in the process of pushing a product for operation and maintenance side implementation to the operation and maintenance side subsystem by a set authority user, pushing a production configuration item stored by the research and development side subsystem to the operation and maintenance side subsystem together with the production configuration item, wherein the pushing operation is based on application software and associated items, each item for operation and maintenance side implementation corresponds to an operation and maintenance side subsystem work order number, and the pushing action is called promotion; after the promotion is successful, the operation and maintenance side subsystem generates a to-be-deployed production configuration item record with the same version according to the application software and the work order number of the push association; before the operation and maintenance side subsystem performs the operation of issuing the production configuration items, the promoted production configuration items are withdrawn from the research and development side subsystem according to the requirements, and after the withdrawal is successful, the operation and maintenance side subsystem cannot push the corresponding production configuration items to the server and the mirror image; repeating promotion of the production configuration items of different versions in the research and development side subsystem according to the requirements, and pushing the production configuration items of the latest promotion version to the corresponding production environment server and mirror image by the operation and maintenance side subsystem; recording the related promotion operation in an operation log of a development side subsystem configuration item;
Step 13, configuration of a research and development side subsystem is disabled; if the application software does not use the existing configuration items in the production environment, configuration item revocation operation is needed; setting authority users to select to-be-invalidated production configuration items in the base line version, and executing the invalidation operation; the research and development side subsystem generates a to-be-invalidated record of the production configuration item, and the to-be-invalidated record is transferred to the operation and maintenance side subsystem along with the promotion operation flow of the production product; after the promotion is successful, the operation and maintenance side subsystem generates the same record of to-be-voided production configuration item according to the application software and the work order number which are associated in the pushing process; in the operation and maintenance side subsystem, the revocation operation is jointly implemented with the deployment of the associated project, and after the deployment is successful, the base line versions of the production configuration project in the research and development side subsystem and the operation and maintenance side subsystem are jointly changed into a revoked state; if the obsolete baseline version needs to be restored, a production configuration item which is the same as the obsolete information needs to be newly established based on the item, and the restoration is performed after promotion to the operation and maintenance side subsystem and production implementation is completed; before the operation and maintenance side subsystem performs the operation of canceling the production configuration item, the research and development side subsystem cancels the promoted record to be canceling, and after the canceling is successful, the operation and maintenance side subsystem does not perform the original operation of canceling;
Step 14, operation and maintenance side subsystem configuration item management; the development side subsystem is promoted to the operation and maintenance side subsystem through the step 12 and the step 13, the operation and maintenance side subsystem generates a to-be-implemented version record of the operation and maintenance configuration item according to the application software, the configuration parameter file name, the work order number, the module type, the corresponding server or the mirror image IP address and the distribution path associated with promotion, and each promotion is provided with a different operation and maintenance configuration item version, and the operation and maintenance side subsystem operation and maintenance configuration item is synchronously added with the same implementation version and moves the original implementation version to the historical version; after the to-be-implemented production configuration item is successfully put into operation, the operation and maintenance side subsystem generates a base line version based on the implementation version, and if the base line version does not exist in the application software, a base line version record is newly added; if the base line version exists in the application software, the original base line version is covered, and the original base line version is moved to the history version; after the to-be-voided production configuration item is successfully put into operation, the operation and maintenance side subsystem sets the corresponding baseline version to be in a voided state.
3. The method for one-stop application configuration collaboration and delivery according to claim 1, wherein the step 11 is further specifically:
Step 111, adding a configuration item; setting a new configuration item of a permission user, acquiring application software, configuration parameter file names, environment information, module types, coding formats, corresponding server or mirror image IP addresses, distribution paths and configuration item file contents, inputting the configuration item file contents in a mode of collecting from the server, directly importing the configuration item file contents by the user and directly filling pages, wherein a configuration item test environment version is derived from a development environment, verifying that the environment version is derived from the test environment, establishing a corresponding relation with a production base line version, and generating an initial version number based on a current timestamp after successful establishment;
step 112, inquiring the configuration items; setting a permission user to inquire the content, environment information, module type, coding format, corresponding server or mirror image IP address, distribution path, modifier, modification time, configuration item history version and configuration item operation log through screening conditions, wherein the configuration item operation log records the file name, version number, operation record, operation user and operation time of the new addition, modification, deletion, collection and pushing operation of the configuration item;
step 113, modifying the configuration item; setting authority users to modify the content of the configuration items, acquiring and storing a change description, after the change description is successfully stored, newly adding a configuration item version, generating a latest version number based on a current timestamp, and moving the configuration item version before modification into a history version list;
Step 114, copying the configuration item; setting authority users to obtain corresponding application software, configuration parameter file names, environment information, module types, coding formats, corresponding servers or mirror image IP addresses and distribution paths based on the selected configuration items, and producing new configuration items according to the contents of the selected configuration items, wherein the new configuration items generate an independent version number based on the current time stamp;
step 115, deleting the configuration item; setting authority users to select non-baseline version configuration items, and deleting configuration items configuring all versions in batches when deleting operation is performed;
step 116, comparing the configuration item versions; setting authority users to carry out version comparison, selecting and comparing any two configuration items, and comparing the basic information of the selected configuration items with the content difference of the configuration item files; selecting and comparing any two versions of the same configuration item, and comparing the content difference of the configuration item files of the selected versions; when the configuration item is selected to be compared with the development side subsystem version and the operation side subsystem version, the configuration item file content difference of the selected environment and the production environment is compared; the part with different configuration parameters is highlighted;
Step 117, collecting configuration items; in the process of creating or editing configuration items or selecting stock configuration items, when configuration item content collection is carried out, the latest version of configuration item content is collected from a selection server or a mirror image according to a configuration parameter file name, environment information, a module type, a coding format, a server or a mirror image IP address and a distribution path; after successful collection, the current version configuration item is covered, and the latest version configuration item is generated; storing the acquisition record into a configuration item operation log;
step 118, pushing configuration items; selecting a configuration item for pushing, or configuring the configuration item for pushing in a deployment pipeline; pushing the configuration item content to a designated position of a server or a mirror image according to the configuration parameter file name, environment information, the module type, the coding format, the IP address of the server or the mirror image, a distribution path and a user and authority required by pushing operation; if the pushed file exists in the designated position, the original file is covered; the pushing record is stored in a pipeline execution log or a configuration item operation log;
step 119, creating a commissioning configuration item; the application software carries out iterative updating based on the projects, and each production is associated with one project; newly creating a production configuration item based on the application software item and the test environment or the verification environment through the verified version, and acquiring corresponding item information, application software, configuration parameter file names, environment information, module types, coding formats, corresponding operation and maintenance side servers or mirror image virtual IP addresses, distribution paths and configuration item file contents; after the creation is successful, the research and development side subsystem generates an initial version of the configuration item, and generates an initial version number based on the current timestamp, and the configuration item is pushed to the operation and maintenance side subsystem through promotion operation; after the operation and maintenance side of the created operation and maintenance configuration item is successful, converting the operation and maintenance side base line version cached at the development side, wherein the version number is the version number of the successful deployment version;
Step 1110, generating a commissioning configuration item based on the baseline; if the baseline version of the production configuration item exists, detecting the configuration item for operation and maintenance side implementation based on the baseline version and the application software item, modifying and storing the file content of the configuration item according to the test environment or the verification environment through the verified version, generating the latest implementation version of the production configuration item by the research and development side subsystem, and generating a version number based on the current timestamp, wherein the configuration item is pushed to the operation and maintenance side subsystem through promotion operation; the associated project is successfully implemented on the operation and maintenance side subsystem, the original baseline version is covered, and the version number of the baseline version is changed into the version number of the latest successfully deployed version.
4. The method for one-stop application configuration collaboration and delivery according to claim 1, wherein the step 2 is further specifically:
step 21, generating a product; the product sources in the research and development side subsystem are generated and uploaded from the automatic assembly line compiling and constructing, a version number is generated according to a time stamp when the product is created, and a unique digest value is calculated based on an SM3 encryption algorithm and used for a user to judge whether the product changes or not, and the digest value of the same product SM3 is the same; dividing a product warehouse by the generated product according to the application software, the associated project or the work order number; in the research and development side subsystem, the product can be repeatedly generated, the old version is divided into the history version for management after the generation, and after the verification of the latest version is passed, the process is promoted to the operation and maintenance side subsystem;
Step 22, product promotion; the product in the operation and maintenance side subsystem is sourced from promotion operation of the research and development side subsystem, promotion operation can simultaneously promote all products and configuration items related to the items, after promotion is successful, the operation and maintenance side subsystem generates a product warehouse according to application software and the work order numbers corresponding to the items, the product version in the warehouse is consistent with the research and development side subsystem, and each successful promotion of a product with different version can divide the old version into the historical version for management;
step 23, product warehouse; according to step 21 and step 22, an article warehouse is generated.
5. The method for one-stop application configuration collaboration and delivery according to claim 4, wherein the product repository in step 23 comprises 2 levels, a level 1 directory is a collection of application software and associated items, a level 2 directory is a specific product, and the product and the application software module type have a one-to-one correspondence; the product warehouse of the research and development side subsystem supports downloading, viewing and deleting products in the product warehouse, and the product warehouse of the operation and maintenance side subsystem only allows users to download and view.
6. The method for one-stop application configuration collaboration and delivery according to claim 1, wherein the step 3 is further specifically:
Step 31, pipeline generation; arranging a production line by adopting a graphical interface, connecting operation steps in series by using a directed graph, displaying a scheduling mode and an execution direction of the job, and storing; a plug-in and directed graph mode is adopted to create a pipeline, and after the function of the pipeline is verified to be correct, the pipeline is released; after the pipeline is successfully issued, generating a version number based on the timestamp of the issuing time point; each time a user issues a pipeline, a brand new version number is generated, so that version management of the pipeline is realized; the issued pipeline tasks can be executed in the research and development side subsystem and the operation and maintenance side subsystem, and the pipeline of the operation and maintenance side subsystem pushes the issued and verified pipeline from the research and development side subsystem through pipeline promotion operation;
step 32, pipeline scheduling; acquiring flow driving information according to a pipeline; the method comprises the steps of placing driving information into a queue to be executed, taking out the driving information from the execution queue after the execution condition is met, associating an execution engine according to the driving information, creating a corresponding execution thread, and placing the thread into a thread pool to run concurrently; when the thread executes the script command, pushing the command meeting the security policy to the server to be executed or the Agent of the mirror image, driving the server to be executed or the Agent to execute the command of the mirror image, and returning an execution result; finally, the execution result is fed back to the operation user through the graphical page;
Step 33, managing plug-ins; packaging the operation or script with commonality as a plug-in, and configuring parameters in the plug-in to realize operation logic; the plug-in is divided into a public class module, a construction class module and a deployment class module, the research and development side subsystem comprises the three modules, and the operation and maintenance side subsystem does not comprise the construction class module; the public class module is a plug-in unit which can be called by all pipelines, and comprises code pulling, SQL auditing, code scanning, automatic testing, task calling, user reminding and user notification; the building class module is a plug-in which can only be called in a building class pipeline, and comprises a building script execution and a Docker container operation; the deployment class module is a plug-in which can only be called in a deployment class pipeline, and comprises deployment script execution and configuration item pushing. The code pulling plug-in supports pulling files from a GIT source code repository or an SVN repository;
step 34, automatic construction; starting a construction task according to the input starting parameters; starting to construct a special container, pulling codes in the container, calling plug-ins, and executing preset compiling commands according to the types of the application software modules; after compiling, generating a full mount installation file for deployment; if the user adopts incremental deployment, extracting the files required by the incremental deployment from the full-quantity installation files according to a package list provided in advance; finally, according to the production requirement, compressing the installation file into an installation package in a specified format, automatically pushing the installation package to a product warehouse, wherein the name of the installation package can be related to the type of the application software module;
Step 35, automatic deployment; selecting a product to be deployed and a configuration item according to input starting parameters, confirming a resource group to be deployed, starting a deployment task, deploying the product, and pushing the configuration item;
step 36, task monitoring; checking the execution condition of the pipeline in real time through task monitoring, and dynamically displaying the execution log, transmission parameters and execution results of each operation step by using a pipeline directed graph; after the pipeline execution is finished, the related monitoring record is transferred to a history monitoring list for storage;
step 37, executing a strategy; in a research and development side subsystem, a timing execution strategy is set for the pipeline, so that the pipeline is started at a fixed time, or a periodic execution strategy is set for the pipeline, the pipeline is repeatedly scheduled according to a certain time period, or an external calling strategy is set for the pipeline, and the specified pipeline is automatically operated after a hook of a Webhook system is triggered by a support GIT source code management system; each newly built executing strategy is stored in an executing strategy list, the unexecuted strategy is selected to be modified or deleted in the list, and the scheduling result of the executing strategy is checked.
7. The method for collaborative configuration and delivery of a one-stop application software according to claim 6, wherein the operating steps are divided into three layers according to service logic, the third layer corresponds to an actual execution instruction, the execution instruction is packaged by a plug-in unit, a plurality of the execution instructions of the third layer form a second instruction set together, the second layer is used for setting serial or parallel operation logic of the instruction set, and the first layer is used for marking a stage; serial operation means that the second-layer instruction sets are sequentially executed in the same stage, and parallel operation means that the second-layer instruction sets are concurrently executed in the same stage.
8. The method of one-stop application configuration collaboration and delivery of claim 6, wherein step 36 further comprises: the immediate intervention pipeline execution includes ignoring the operation step, re-executing the operation step, suspending the pipeline operation, resuming the pipeline operation, and forcibly suspending the pipeline operation.
9. The method for one-stop application configuration collaboration and delivery of claim 6, wherein the step 35 is further specifically:
step 351, deploying a plug-in; the product deployment and the configuration item pushing are realized through the plug-in;
step 352, deployment linkage; the research and development side subsystem selects the appointed version of the product for automatic deployment, or automatically deploys the product generated by automatic construction according to the step 34; the operation and maintenance side subsystem only carries out automatic deployment according to the latest version of the product, after successful production, the operation and maintenance side subsystem configuration item generates a configuration item latest baseline version, and the research and development side subsystem configuration item synchronously generates the configuration item latest baseline version.
CN202311325748.4A 2023-10-13 2023-10-13 One-stop application software configuration collaboration and delivery method Pending CN117591164A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311325748.4A CN117591164A (en) 2023-10-13 2023-10-13 One-stop application software configuration collaboration and delivery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311325748.4A CN117591164A (en) 2023-10-13 2023-10-13 One-stop application software configuration collaboration and delivery method

Publications (1)

Publication Number Publication Date
CN117591164A true CN117591164A (en) 2024-02-23

Family

ID=89922471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311325748.4A Pending CN117591164A (en) 2023-10-13 2023-10-13 One-stop application software configuration collaboration and delivery method

Country Status (1)

Country Link
CN (1) CN117591164A (en)

Similar Documents

Publication Publication Date Title
CA2796448C (en) Method and system for deployed operations support
US9658833B2 (en) Automated methods and systems for developing and deploying projects in parallel
US7945589B1 (en) Integrated change management in a business intelligence environment
US8584119B2 (en) Multi-scenerio software deployment
US6223343B1 (en) Computer system and method to track and control element changes throughout application development
US8037453B1 (en) System and method for continuous software configuration, test and build management
US8751464B1 (en) Integrated version control in a business intelligence environment
US10296305B2 (en) Method and device for the automated production and provision of at least one software application
EP1225508A1 (en) A universal software application
JP2005502118A (en) Integrated system and method for complete end-to-end software delivery process management
CN106681956A (en) Method and device for operating large-scale computer cluster
WO1998027489A1 (en) Software release document process control system and method
AU2010308132A1 (en) Automated enterprise software development
WO2009140154A1 (en) Methods and systems for developing, debugging, and executing data integration applications
CN113434158B (en) Custom management method, device, equipment and medium for big data component
CN112036825A (en) Automatic operation and maintenance management system based on work order
CN111930354B (en) Framework component system for software development and construction method thereof
EP2024848A1 (en) Process encoding
CN112083948A (en) Automatic construction and deployment method and tool based on data configuration
CN101339506B (en) Device for implementing software products resource and version management
US10963227B2 (en) Technique for transforming a standard messaging component to a customized component
CN117591164A (en) One-stop application software configuration collaboration and delivery method
CN115658791A (en) Ground application management control system and method
CN116400950A (en) DevOps element pipeline system based on version control
US20050108279A1 (en) Method and dynamic system for the mangement and production of technical documentation in a database

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication