Automated deployment method, system, electronic device, and computer-readable medium
The automatic deployment of the cloud network system is achieved through the deployment tool plug-in framework, which solves the development and maintenance problems caused by the great differences in the cloud network system deployment tools, and improves the deployment efficiency and scalability.
Patent Information
- Application Number
- CN202111597283.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-24
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-12-24
AI Technical Summary
In the prior art, there are great differences in the implementation mechanisms between the deployment tools of cloud network systems, resulting in the need of integrating a large number of plug-ins on the automated deployment platform, which increases the difficulty of development and maintenance.
The automated deployment platform is used to issue deployment tasks through the deployment tool plug-in framework. The deployment tool plug-in framework automatically deploys according to the task scheduling plug-in, specifying the scripts of the deployment tool or calling APIs to achieve standardized management of the plug-in and log and progress management of the plug-in.
It simplifies the development process of plug-in, improves the efficiency of cloud network deployment platform docking and deployment tools, and has good scalability and easy iteration.
Smart Images

Figure CN114327498B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer information processing, and more specifically, to an automated deployment method, system, electronic device, and computer-readable medium. Background Art
[0002] As network cloudification continues to advance, deployment requirements for cloud-network systems are becoming increasingly frequent, complex, and dynamic. Cloud-network system architectures are complex, consisting of multiple layers, components, vendors, and products. The entire system deployment process involves numerous product-level deployment tools. Introducing an automated deployment platform for full-stack automated deployment of cloud-network systems can effectively improve deployment efficiency and reduce deployment complexity. However, in practice, the implementation mechanisms of different deployment tools vary significantly. A common approach is to develop plugins specifically tailored to specific deployment tools to connect the automated deployment platform with each tool. The need to integrate numerous product-level deployment tools leads to a large number of plugins, making development and maintenance difficult.
[0003] Therefore, a new automated deployment method, system, electronic device, and computer-readable medium are needed.
[0004] The above information disclosed in this Background section is only for enhancement of understanding of the background of the application and therefore it may contain information that does not form the prior art that is already known to a person of ordinary skill in the art. Summary of the Invention
[0005] In view of this, the present application provides an automated deployment method, system, electronic device and computer-readable medium, which can realize the docking of the automated deployment platform with various tool docking plug-ins, simplify the development of plug-ins and have good scalability, and significantly improve the efficiency of the cloud network deployment platform docking with deployment tools.
[0006] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by practice of the present application.
[0007] According to one aspect of the present application, an automated deployment method is proposed, which includes: an automated deployment platform issues a deployment task through a deployment tool plug-in framework; the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task; and the deployment tool plug-in specifies the deployment tool script or calls the deployment tool API based on the deployment task to perform automated deployment.
[0008] In an exemplary embodiment of the present application, the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task, including: the deployment tool plug-in framework pre-processes the configuration data according to the deployment task; the deployment tool plug-in framework performs pre-deployment preparation; the deployment tool plug-in framework schedules the deployment tool plug-in to process the deployment task; after the deployment tool completes the deployment task, the deployment tool plug-in framework performs post-deployment configuration.
[0009] In an exemplary embodiment of the present application, the deployment tool plug-in framework performs configuration data preprocessing according to the deployment task, including: the deployment tool plug-in framework determines the deployment tool according to the deployment task; the deployment tool plug-in framework determines the configuration data format to be converted according to the deployment tool; the deployment tool plug-in framework converts the original configuration data in the deployment task according to the configuration data format to be converted.
[0010] In an exemplary embodiment of the present application, the deployment tool plug-in framework performs pre-deployment preparation, including: the deployment tool plug-in framework calls the interface of the deployment tool to submit configuration data; and / or the deployment tool plug-in framework generates a configuration file of the deployment tool based on the configuration data.
[0011] In an exemplary embodiment of the present application, the deployment tool plug-in framework schedules the deployment tool plug-in to process the deployment task, and also includes: when the deployment tool executes the deployment task, the deployment tool plug-in framework stores the log in real time; when the deployment tool executes the deployment task, the deployment tool plug-in framework performs progress management.
[0012] In an exemplary embodiment of the present application, the deployment tool plug-in framework stores logs in real time, including: the deployment tool plug-in framework obtains and stores the original logs of the deployment tool in real time; the deployment tool plug-in framework obtains and stores the plug-in running output logs of the deployment tool in real time.
[0013] In an exemplary embodiment of the present application, the deployment tool plug-in framework performs progress management, including: the deployment tool plug-in framework extracts data at a preset location in the original log of the deployment tool in real time; when the data at the preset location is correct, feedback is given on the current progress; when the data at the preset location is incorrect, the deployment task is terminated.
[0014] According to one aspect of the present application, an automated deployment system is proposed, which includes: an automated deployment platform for issuing deployment tasks through a deployment tool plug-in framework; a deployment tool plug-in framework for scheduling deployment tool plug-ins according to the deployment tasks; and at least one deployment tool plug-in for specifying a deployment tool script or calling a deployment tool API based on the deployment task to perform automated deployment.
[0015] According to one aspect of the present application, an electronic device is proposed, which includes: one or more processors; a storage device for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described above.
[0016] According to one aspect of the present application, a computer-readable medium is provided, on which a computer program is stored. When the program is executed by a processor, the method described above is implemented.
[0017] According to the automated deployment method, system, electronic device and computer-readable medium of the present application, deployment tasks are issued by the automated deployment platform through the deployment tool plug-in framework; the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task; the deployment tool plug-in specifies the deployment tool script based on the deployment task or calls the deployment tool API to perform automated deployment, which can realize the docking of the automated deployment platform with various tool docking plug-ins, simplify the development of plug-ins and have good scalability, and significantly improve the efficiency of the cloud network deployment platform docking with deployment tools.
[0018] It should be understood that the foregoing general description and the following detailed description are merely illustrative and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The above and other objects, features, and advantages of the present application will become more apparent by describing in detail exemplary embodiments thereof with reference to the accompanying drawings. The drawings described below are merely some embodiments of the present application, and it is apparent to those skilled in the art that other drawings can be derived from these drawings without inventive effort.
[0020] Figure 1 The figure is a schematic diagram showing an automated deployment system according to an exemplary embodiment.
[0021] Figure 2 The figure is a flowchart of an automatic deployment method according to an exemplary embodiment.
[0022] Figure 3 The figure is a flowchart of an automatic deployment method according to another exemplary embodiment.
[0023] Figure 4 is a schematic diagram showing an automated deployment method according to another exemplary embodiment.
[0024] Figure 5 The figure is a block diagram of an automated deployment system according to an exemplary embodiment.
[0025] Figure 6 It is a block diagram of an electronic device according to an exemplary embodiment.
[0026] Figure 7 It is a block diagram of a computer-readable medium according to an exemplary embodiment. DETAILED DESCRIPTION
[0027] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. Like reference numerals in the drawings represent like or similar parts, and thus repetitive description thereof will be omitted.
[0028] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner.In the following description, many specific details are provided so as to provide a full understanding of the embodiments of the present application. However, it will be appreciated by those skilled in the art that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps etc. can be adopted. In other cases, known methods, systems, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0029] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0030] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.
[0031] It should be understood that although the terms first, second, third, etc. may be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one component from another. Thus, the first component discussed below could be referred to as the second component without departing from the teachings of the present invention. As used herein, the term "and / or" includes any one and all combinations of one or more of the associated listed items.
[0032] Those skilled in the art will understand that the drawings are merely schematic diagrams of example embodiments, and the modules or processes in the drawings are not necessarily necessary for implementing the present application, and therefore cannot be used to limit the scope of protection of the present application.
[0033] The inventors of this application have discovered that a large number of functions can be reused across different deployment tools, making it possible to develop standardized functions without having to develop them separately for different tools. Based on this conclusion, this application proposes a universal plug-in framework for connecting a cloud-network deployment platform to deployment tools. The framework includes standardized functional implementations, significantly simplifies the development process of tool-connection plug-ins, has good scalability, and significantly improves the efficiency of connecting a cloud-network deployment platform to deployment tools.
[0034] The content of this application is described in detail below with the help of specific embodiments.
[0035] Figure 1 FIG. 1 is a schematic diagram of an automated deployment system according to an exemplary embodiment. Figure 1 As shown, the plug-in framework can run independently as a subsystem of the existing automated deployment platform, enabling the docking of the automated deployment platform with various tool docking plug-ins, which can simplify the development of plug-ins and has good scalability.
[0036] The functionality of the general plugin framework may include:
[0037] 1. Plug-in lifecycle management:
[0038] A plugin has four lifecycles: plugin registration, plugin discovery, plugin startup, and plugin removal. The general plugin framework manages each of these lifecycles. This eliminates the need for plugin lifecycle management, simplifying plugin development.
[0039] 2. Deployment process definition and management:
[0040] The plugin encompasses four workflows: configuration data preprocessing, pre-deployment preparation, deployment execution, and post-deployment configuration. The common plugin framework defines the deployment process standards and handles the execution of each process. Plugins no longer need to reimplement the entire workflow; instead, they focus on the deployment configuration operations within each specific process. This simplifies plugin development.
[0041] 3. Log and progress management:
[0042] The log and progress management module includes three functions: log collection, progress calculation, and progress feedback. A common plugin framework processes logs generated by deployment tools and plugins. Plugins no longer need to develop extensive code to implement log and progress management, requiring only minimal configuration, significantly simplifying plugin development.
[0043] 4. Basic tool capability set:
[0044] The general plug-in framework provides basic functions such as script calling, interface calling, and file transfer for plug-ins to use. Plug-ins do not need to develop basic functional codes, which reduces the complexity of development.
[0045] According to the automated deployment method of the present application, the universal plug-in framework can simplify the development and management of deployment tool docking plug-ins and improve docking efficiency.
[0046] Figure 2 1 is a flow chart showing an automated deployment method according to an exemplary embodiment. The automated deployment method 20 at least includes steps S202 to S206.
[0047] like Figure 2 As shown, in S202, the automated deployment platform issues deployment tasks through the deployment tool plug-in framework.
[0048] In S204, the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task. The deployment tool plug-in framework may include four major modules: plug-in lifecycle management, which manages the lifecycle of each plug-in; deployment process definition and management, which defines the deployment process standards and handles the execution of each process; log and progress management, which processes logs generated by the deployment tool and plug-in; and basic tool capability set, which provides basic plug-in functions.
[0049] The specific content of "Deployment tool plug-in framework schedules deployment tool plug-in according to the deployment task" will be in Figure 3 The corresponding embodiments are described in detail.
[0050] In S206 , the deployment tool plug-in specifies a script of the deployment tool or calls an API of the deployment tool based on the deployment task to perform automated deployment.
[0051] According to the automated deployment method of the present application, deployment tasks are issued through the automated deployment platform through the deployment tool plug-in framework; the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task; the deployment tool plug-in specifies the deployment tool script based on the deployment task or calls the deployment tool API to perform automated deployment, which can realize the docking of the automated deployment platform with various tool docking plug-ins, simplify the development of plug-ins and have good scalability, and significantly improve the efficiency of the cloud network deployment platform docking with deployment tools.
[0052] It should be clearly understood that this application describes how to form and use specific examples, but the principles of this application are not limited to any details of these examples. On the contrary, based on the teaching of the content disclosed in this application, these principles can be applied to many other embodiments.
[0053] Figure 3 The figure is a flowchart of an automatic deployment method according to another exemplary embodiment. Figure 3 The process 30 shown is Figure 2The detailed description of S204 “the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task” in the process shown is as follows.
[0054] like Figure 3 As shown, in S302, the deployment tool plug-in framework pre-processes the configuration data according to the deployment task. The deployment tool plug-in framework determines the deployment tool according to the deployment task; the deployment tool plug-in framework determines the configuration data format to be converted according to the deployment tool; and the deployment tool plug-in framework converts the original configuration data in the deployment task into the configuration data format to be converted.
[0055] More specifically, after accepting a deployment task from the automated deployment platform, the plug-in framework first performs a configuration data preprocessing step, in which the plug-in should convert the original configuration data into the data required by the deployment tool.
[0056] Convert raw configuration data into the data structure required by the deployment tool. For example, the cobbler tool plug-in implementation needs to extract information about the operating system installation source and convert it into corresponding properties in the cobbler profile, and the kolla-ansible tool plug-in implementation needs to extract properties from the globals configuration file.
[0057] In S304, the deployment tool plug-in framework performs pre-deployment preparations by calling an interface of the deployment tool to submit configuration data and / or generating a configuration file of the deployment tool based on the configuration data.
[0058] Preparatory work before deployment typically involves providing the converted configuration data to the deployment tool, including but not limited to: calling the tool interface to submit the configuration data and using the configuration data to generate the configuration files required by the deployment tool. For example, calling the Cobbler tool's profile and system module interfaces to write operating system and server configuration parameters.
[0059] In S306, the deployment tool plug-in framework schedules the deployment tool plug-in to process the deployment task. Executing the deployment process is typically a time-consuming operation, such as restarting a server to wait for the operating system to be installed or executing kolla-ansibledeploy to deploy an OpenStack cluster.
[0060] In S308, the deployment tool plug-in framework monitors in real time when the deployment tool executes the deployment task. When the deployment tool executes the deployment task, the plug-in framework's workflow implements a built-in workflow. The deployment tool plug-in implementation does not need to implement the entire workflow, but only needs to implement the specific execution process of the above deployment steps.
[0061] When the deployment tool executes the deployment task, the deployment tool plug-in framework stores the log in real time; when the deployment tool executes the deployment task, the deployment tool plug-in framework performs progress management.
[0062] In one embodiment, the deployment tool plug-in framework obtains and stores the original log of the deployment tool in real time; the deployment tool plug-in framework obtains and stores the plug-in running output log of the deployment tool in real time.
[0063] In one embodiment, the deployment tool plug-in framework extracts data at a preset location in the original log of the deployment tool in real time; when the data at the preset location is correct, the current progress is fed back; when the data at the preset location is incorrect, the deployment task is terminated.
[0064] More specifically, log and progress management are built-in modules of the plugin framework. Each deployment tool plugin only needs to complete the corresponding configuration to complete development. It can include the following functions:
[0065] Deployment tools usually provide deployment logs, so it is necessary to calculate the progress by extracting the log content. You can use the built-in log analyzer of the plug-in framework. The function of the log analyzer is to extract the key lines in the original log of the deployment tool. If the key line corresponds to a correct or tolerable error level, it will feedback the current progress of the automated deployment platform. If the key line corresponds to an intolerable error level, the deployment task will be directly ended and the plug-in removal phase in the plug-in life cycle will be entered. The results of the erroneous deployment will be submitted to the automated deployment platform. The key lines, corresponding progress, and tolerated error levels (correct, tolerable errors, and intolerable errors) of each deployment tool can be configured through YAML or JSON format configuration files. The configuration file is read when the plug-in starts and can be automatically analyzed and matched. If the deployment tool provides other methods to calculate the deployment progress, they can be implemented accordingly.
[0066] Regularly feed back the latest progress calculated by the progress calculation function to the automated deployment platform.
[0067] Raw logs are divided into raw logs generated by deployment tools and plug-in operation output logs. These two types of logs usually need to be stored in a unified manner. They can be saved to the automated deployment platform or stored separately in search engines such as Elasticsearch through configuration.
[0068] In S310, after the deployment tool completes the deployment task, the deployment tool plug-in framework performs post-deployment configuration, which is a supplementary configuration after deployment, such as configuring the network card after installing the operating system.
[0069] Figure 4 is a schematic diagram showing an automated deployment method according to another exemplary embodiment. Figure 4The process 40 shown is a detailed description of “deployment tool plug-in framework performing deployment tool lifecycle management”.
[0070] The plug-in lifecycle management function is mainly implemented in the automated deployment system, and the main lifecycle stages include: plug-in registration, plug-in discovery, plug-in startup, and plug-in removal.
[0071] In one embodiment, taking a plug-in implemented in Java as an example, the implementation method of each stage is as follows:
[0072] 1. Plugin registration
[0073] The deployment tool plug-in framework contains a configuration file that describes the relationship between the deployment task type, the deployment tool plug-in, and the startup script. The developed deployment tool plug-in can be registered by adding the plug-in and the deployment task type to the configuration file. The configuration of the registered plug-in can be in the form of the following YAML data structure
[0074] plugins:
[0075] -tool:cobbler
[0076] jar:cobbler-tool-plugin.jar
[0077] -tool:kolla
[0078] jar:kolla-ansible-tool-plugin.jar
[0079] -tool:kubeadm
[0080] jar:kubeadm-tool-plugin.jar
[0081] 2. Plug-in discovery: After receiving the issued deployment task, the deployment tool plug-in framework queries the above configuration file and finds the corresponding deployment tool plug-in through the deployment task type plug-in framework, which is plug-in discovery.
[0082] 3. Plug-in startup: Call the startup script found in the plug-in discovery to start the deployment tool plug-in, that is, plug-in startup.
[0083] 4. Plug-in removal: When the deployment step ends or the deployment fails, the plug-in framework ends the plug-in and feeds back the end or failure to the automated deployment platform, that is, the plug-in is removed.
[0084] In a specific embodiment, the plug-in framework may further provide a basic capability tool library that provides basic functions for the connected deployment tools to implement lifecycle functions, thereby reducing the difficulty and workload of implementing the deployment tool integration.
[0085] The tool library is integrated into the plug-in framework, which allows iterative development and easy expansion.
[0086] The basic capability tool library includes two categories, but is not limited to the following functions:
[0087] 1. General capability tool set: (1) Script execution: local script execution tool, SSH script tool; (2) API call / RPC call tool; (3) Text template rendering tool: FreeMarker (Java), Velocity (Java), Cheetah (Python); (4) File transfer tool: FTP / SFTP tool;
[0088] 2. Customization toolset: (1) Network card configuration; (2) Power on, shut down, and restart the server through out-of-band management; (3) Start virtual machines using libvirt.
[0089] In a specific application, the cobbler tool is used as an example to introduce how to integrate the deployment tool into the plug-in system.
[0090] Log configuration process: The cobbler tool's log analyzer can be initialized using the log extraction file and log extraction line fields. Specifically, it extracts three log files (sys.log, anaconda.log, and packaging.log). Each file contains a regular expression for key lines. If a match is found, the corresponding message field information is returned. If there is no message field, the original log line is returned. No special processing is required for the plugin's raw logs. Cobbler's raw path is based on the cobbler tool's configuration, for example, using / usr / local / cobbler / anamon / .
[0091] Configuration data conversion process: The data needs to be converted into the data required for deployment preparation, which generally includes: (1) the installed operating system image and the corresponding kickstart file; (2) device information: including the BMC account information of all servers that need to install the operating system, the MAC address of the network card used to install the operating system and configure the IP, and operating system-related configuration information (time zone, language, etc.).
[0092] Deployment preparation process: The deployment preparation implemented by the cobbler plug-in includes the following steps: execute cobblerprofile: import the installed image iso, and also specify the kickstart file to complete the fully automatic installation; execute cobbler system: import the server information to install the system, including installing the operating system and configuring the IP network card MAC address, operating system-related configuration information (time zone, language, etc.); execute cobbler sync: cobbler synchronization configuration operation; set all target servers to start in PXE mode.
[0093] Actual deployment process: According to the status of the target server: If the target server is in the power-on state: restart the server; If the target server is in the power-off state: start the server; Post-deployment configuration process: Cobbler does not need to perform this step separately to install the operating system. The required operations can be completed in the postscript part of the kickstart file.
[0094] Compared with the existing technology, this application has the following advantages and effects:
[0095] Traditional deployment tool docking technology does not have a standardized framework design. Each deployment tool plug-in implements plug-in lifecycle management, deployment process, log analysis, progress calculation and other functions separately, resulting in cumbersome development and difficult iteration and expansion.
[0096] The automated deployment system in this application implements a standardized plug-in framework for deployment tools. Within this plug-in framework, different deployment tools only need to complete key steps and attribute configuration to connect to the network cloud automated deployment platform, eliminating the need to repeatedly implement duplicate functions. This makes the development and maintenance of deployment tools connected to the network cloud automated deployment platform simpler, easier to expand, and easier to iterate.
[0097] The automated deployment system of this application has been applied in the automated deployment platform of a new integrated delivery platform for cloud-network convergence. It has implemented a universal plug-in framework and a series of deployment tool plug-ins, including cobbler plug-ins, kolla-ansible plug-ins, kubeadm plug-ins, etc., and successfully connected to a series of deployment tools.
[0098] In addition, the automated deployment method of the present application can be extended to other scenarios, such as network cloud automated testing systems, to simplify the connection between different testing tools.
[0099] Those skilled in the art will appreciate that all or part of the steps implementing the above embodiments can be implemented as a computer program executed by a CPU. When executed by the CPU, the computer program performs the functions defined in the above method provided herein. The program can be stored in a computer-readable storage medium, such as a read-only memory, a magnetic disk, or an optical disk.
[0100] Furthermore, it should be noted that the aforementioned figures are merely illustrative of the processes included in the methods according to exemplary embodiments of the present application and are not intended to be limiting. It is readily understood that the processes illustrated in the aforementioned figures do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0101] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0102] Figure 5 FIG. 1 is a block diagram of an automated deployment system according to an exemplary embodiment. Figure 5 As shown, the automated deployment system 50 includes: an automated deployment platform 502 , a deployment tool plug-in framework 504 , and a deployment tool plug-in 506 .
[0103] The automated deployment platform 502 is used to issue deployment tasks through the deployment tool plug-in framework;
[0104] The deployment tool plug-in framework 504 is used to schedule the deployment tool plug-in according to the deployment task;
[0105] At least one deployment tool plug-in 506 is used to specify a deployment tool script or call an API of the deployment tool based on the deployment task to perform automated deployment.
[0106] According to the automated deployment system of the present application, deployment tasks are issued through the automated deployment platform through the deployment tool plug-in framework; the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task; the deployment tool plug-in specifies the deployment tool script based on the deployment task or calls the deployment tool API to perform automated deployment, which can realize the docking of the automated deployment platform with various tool docking plug-ins, simplify the development of plug-ins and have good scalability, and significantly improve the efficiency of the cloud network deployment platform docking with deployment tools.
[0107] Figure 6 It is a block diagram of an electronic device according to an exemplary embodiment.
[0108] Refer to the following Figure 6 hereinafter, an electronic device 600 according to this embodiment of the present application is described. Figure 6 The electronic device 600 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0109] like Figure 6 As shown, electronic device 600 is implemented as a general-purpose computing device. Components of electronic device 600 may include, but are not limited to, at least one processing unit 610, at least one storage unit 620, a bus 630 connecting various system components (including storage unit 620 and processing unit 610), a display unit 640, and the like.
[0110] The storage unit stores program codes, which can be executed by the processing unit 610, so that the processing unit 610 performs the steps described in this specification according to various exemplary embodiments of the present application. For example, the processing unit 610 can perform the following steps: Figure 2 , Figure 3 Follow the steps shown in .
[0111] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .
[0112] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include an implementation of a network environment.
[0113] Bus 630 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0114] The electronic device 600 can also communicate with one or more external devices 600' (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), devices that allow a user to interact with the electronic device 600, and / or any device that allows the electronic device 600 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). This communication can occur via an input / output (I / O) interface 650. Furthermore, the electronic device 600 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 660. The network adapter 660 can communicate with other modules of the electronic device 600 via the bus 630. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device 600, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0115] Through the above description of the embodiments, it is easy for those skilled in the art to understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Figure 7 As shown, the technical solution according to the embodiment of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to execute the above method according to the embodiment of the present application.
[0116] The software product can be any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, a system, device or component of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0117] The computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. The data signal propagated may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or component. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0118] The program code for performing the operations of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0119] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by a device, the computer-readable medium implements the following functions: the automated deployment platform issues deployment tasks through the deployment tool plug-in framework; the deployment tool plug-in framework schedules the deployment tool plug-in according to the deployment task; the deployment tool plug-in specifies the deployment tool script or calls the deployment tool API based on the deployment task to perform automated deployment.
[0120] Those skilled in the art will appreciate that the modules described above can be distributed in the device according to the description of the embodiment, or can be modified accordingly to be used in one or more devices that are different from the embodiment. The modules of the above embodiment can be combined into one module or further divided into multiple submodules.
[0121] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
[0122] While the exemplary embodiments of the present application have been specifically illustrated and described above, it should be understood that the present application is not limited to the detailed structures, configurations, or implementations described herein; rather, the present application is intended to encompass various modifications and equivalent configurations within the spirit and scope of the appended claims.
Claims
1. An automated deployment method, characterized in that: The method comprises: The automated deployment platform issues deployment tasks through the deployment tool plug-in framework. The plug-in framework includes: plug-in lifecycle management, which manages the lifecycle of each plug-in; deployment process definition and management, which defines the deployment process standards and handles the execution of each process, while plug-ins only focus on the deployment configuration operations in each specific process; log and progress management, which processes the logs generated by the deployment tool and plug-ins; and a basic tool capability set, which provides basic functions for plug-ins to use. The deployment tool plug-in framework performs configuration data preprocessing according to the deployment task; Deployment tool plug-in framework for pre-deployment preparation; The deployment tool plug-in framework schedules the deployment tool plug-in to process the deployment task; When the deployment tool executes the deployment task, the deployment tool plug-in framework monitors in real time; After the deployment tool completes the deployment task, the deployment tool plug-in framework performs post-deployment configuration; The deployment tool plug-in specifies a script of the deployment tool or calls an API of the deployment tool based on the deployment task to perform automated deployment.
2. The method according to claim 1, wherein The deployment tool plug-in framework performs configuration data preprocessing according to the deployment task, including: The deployment tool plug-in framework determines the deployment tool based on the deployment task; The deployment tool plug-in framework determines the configuration data format to be converted based on the deployment tool; The deployment tool plug-in framework converts the original configuration data in the deployment task into the configuration data format to be converted.
3. The method according to claim 1, wherein The deployment tool plug-in framework performs pre-deployment preparations, including: The deployment tool plug-in framework calls the deployment tool's interface to submit configuration data; and / or The deployment tool plug-in framework generates a configuration file for the deployment tool based on the configuration data.
4. The method according to claim 1, wherein The deployment tool plug-in framework schedules the deployment tool plug-in to process the deployment task, further comprising: When the deployment tool executes the deployment task, the deployment tool plug-in framework stores the log in real time; When the deployment tool executes the deployment task, the deployment tool plug-in framework performs progress management.
5. The method according to claim 4, wherein The deployment tool plugin framework stores logs in real time, including: The deployment tool plug-in framework obtains and stores the original logs of the deployment tool in real time; The deployment tool plug-in framework obtains and stores the deployment tool plug-in running output log in real time.
6. The method according to claim 4, wherein Deployment tool plug-in framework for progress management, including: The deployment tool plug-in framework extracts data at a preset location in the original log of the deployment tool in real time; When the data at the preset position is correct, feedback on the current progress; When data error occurs at the preset location, the deployment task is terminated.
7. An automated deployment system, characterized in that: The system comprises: An automated deployment platform, used to issue deployment tasks through a deployment tool plug-in framework. The plug-in framework includes: plug-in lifecycle management, which manages the lifecycle of each plug-in; deployment process definition and management, which defines the deployment process standards and handles the execution of each process, while plug-ins focus only on the deployment configuration operations within each specific process; log and progress management, which processes logs generated by deployment tools and plug-ins; and a basic tool capability set, which provides basic functions for plug-ins to use. A deployment tool plug-in framework is used to pre-process configuration data according to the deployment task, perform pre-deployment preparation, and schedule the deployment tool plug-in to process the deployment task; it is also used to monitor the deployment tool in real time while executing the deployment task, and perform post-deployment configuration after the deployment tool completes the deployment task; At least one deployment tool plug-in is used to specify a deployment tool script or call an API of the deployment tool based on the deployment task to perform automated deployment.
8. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.
9. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Service arrangement method and system based on application environment
CN111367534A