Detailed Description
Features and exemplary embodiments of various aspects of the present application will be described in detail below, and in order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be described in further detail below with reference to the accompanying drawings and the detailed embodiments. It should be understood that the particular embodiments described herein are meant to be illustrative of the application only and not limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the application by showing examples of the application.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
In addition, the technical scheme of the application can acquire, store, use, process and the like the data, which accords with the relevant regulations of national laws and regulations.
In order to solve the problems of low application deployment efficiency and low accuracy in the related art, the embodiment of the application provides an application deployment method, an application deployment device, an application deployment equipment, a readable storage medium and a program product. The application deployment method provided by the embodiment of the application is first described below.
The application deployment method provided by the embodiment of the application can be applied to application deployment devices, electronic equipment and the like. The embodiment of the application is applied to electronic equipment for explanation by using an application deployment method.
Fig. 1 is a schematic flow chart of an application deployment method according to an embodiment of the present application.
As shown in fig. 1, the application deployment method provided by the embodiment of the present application may include S110 to S140.
S110, acquiring initial configuration information of a target application, target service environment information, target deployment conditions and target dependency relations.
S120, analyzing the target configuration information and the target deployment condition to obtain target variables, target parameters and target logic, wherein the target configuration information is obtained by adapting the initial configuration information according to the target service environment information.
S130, filling a preset script template by utilizing target variables, target parameters and target logic to obtain a plurality of target deployment task scripts.
And S140, sequentially executing each target deployment task script according to the target execution sequence and the target configuration information of each target deployment task script, wherein the target execution sequence is determined according to the target dependency relationship.
According to the application deployment method provided by the embodiment of the application, the target variable, the target parameter and the target logic are obtained by analyzing the target configuration information and the target deployment condition, then the target variable, the target parameter and the target logic are utilized to fill the preset script targets, a plurality of target deployment task scripts are obtained, and then each target deployment task script can be sequentially executed according to the target execution sequence and the target configuration information of each target deployment task script. That is, compared with manual application deployment, the embodiment of the application can automatically deploy the application, and improves the efficiency and accuracy of application deployment.
A specific implementation of each step in S110 to S140 is described below.
In embodiments of the present application, the application may comprise a software application or the like.
In S110, the target application may be an application that needs to be deployed, i.e., an application to be deployed.
The initial-configuration information may include at least one of an environment variable, an application parameter, an encryption parameter password, a database connection, and a service port.
The initial configuration information may be obtained from a configuration file provided by a developer, command line parameters, an automated configuration service, or a configuration file submitted by a code repository.
The target service environment information may include development test environments, release verification environments, gray release environments, sound field environments, and the like, classified according to the types of environments. The target service environment information may include operating system, data type, infrastructure type, and base component information, etc., classified according to specific attributes of the application environment.
The target service environment information may be stored in a storage area of the electronic device, and further the target service environment information may be directly acquired from the storage area.
The target deployment condition may include a user's deployment requirement for the target application.
The acquisition process of the target deployment condition may include: and responding to a first input operation of the user based on the terminal, and acquiring a target deployment condition corresponding to the first input operation, wherein the first input operation can be the first input operation capable of determining the target deployment condition. Therefore, application deployment can be flexibly carried out according to the requirements of users, namely, the embodiment of the application can support flexible configuration and customization, and the experience of user application deployment is improved.
The terminal can be electronic equipment such as a mobile phone, a computer, a tablet and the like which can display and input.
The first input operation may be an operation of inputting the target deployment condition by the user in an input box of the terminal display interface, or an operation of selecting an option of the target deployment condition by the user in the terminal display interface.
Dependencies may describe interrelationships between modules, classes, or components, where one module, class, or component requires the use of functionality or resources provided by another module, class, or component.
The target dependency may be used to characterize the order of execution of the steps in the target application deployment process. For example, step a may need to be performed after step B is successfully completed, steps C and D may be performed in parallel, etc.
The acquisition process of the target dependency relationship may include: and responding to a second input operation of the user based on the terminal, and acquiring a target dependency relationship corresponding to the second input operation, wherein the second input operation can be an input operation capable of determining the target dependency relationship. Therefore, application deployment can be flexibly carried out according to the requirements of users, namely, the embodiment of the application can support flexible configuration and customization, and the experience of user application deployment is improved.
The second input operation may be an operation of inputting the target dependency relationship by the user in an input box of the terminal display interface, or an operation of selecting an option of the target dependency relationship by the user in the terminal display interface.
In some optional embodiments, before acquiring the initial configuration information, the target service environment information, the target deployment condition, and the target dependency of the target application, the method further includes:
under the condition that an application deployment request is received, acquiring a target Internet protocol address, wherein the application deployment request comprises the target Internet protocol address;
obtaining initial configuration information, target service environment information, target deployment conditions and target dependency relationship of a target application, wherein the method comprises the following steps:
and under the condition that the target Internet protocol address is in a preset white list, acquiring initial configuration information of the target application, target service environment information, target deployment conditions and target dependency relationship.
In this embodiment, under the condition that the target internet protocol address is in the preset whitelist, the initial configuration information, the target service environment information, the target deployment condition and the target dependency relationship of the target application are obtained, that is, access control and authority verification are implemented, so that it can be ensured that only users in the preset whitelist can modify and access the initial configuration information, and the security and confidentiality of the information such as the initial configuration information are improved.
Optionally, the initial configuration information may be encrypted or desensitized to prevent sensitive information from escaping and to avoid potential security threats.
It can be understood that the electronic device can effectively manage the initial configuration information of the target application, and automatically adapt and adjust according to the target service environment information, so that the accuracy and consistency of application deployment can be improved, errors and fault risks related to configuration are reduced, and correct configuration of the target application in different environments is ensured.
The preset whitelist may include internet protocol addresses (IP) that allow access and internet protocol addresses of the intranet.
In S120, after obtaining the initial configuration information, the target service environment information, the target deployment condition and the target dependency relationship of the target application, the electronic device may analyze the target configuration information and the target deployment condition to obtain a target variable, a target parameter and a target logic.
The target variable may be a container used to store data that may be copied and modified in the target deployment task script.
The target parameter may be a value that may be passed to the target deployment task script when defined by the script. The target deployment task script may accept different target parameters such that different target logic may be executed based on the entered target parameter values.
The target logic may be a control structure of the target deployment task script, and may be used to perform different operations according to conditions.
The electronic device may parse the target configuration information and the target deployment condition based on a predefined script template or code library to obtain an environment variable, a parameter, and a logic, and convert and process the environment variable, the parameter, and the logic to obtain a target variable, a target parameter, and a target logic. The process of parsing the target configuration information and the target deployment conditions to obtain the environment variables, parameters, and logic may be understood as the electronic device converting the target configuration information into an internal data structure or configuration object for subsequent processing and script generation.
In some alternative embodiments, the process of generating the target configuration information may include:
under the condition that the initial configuration information is free from errors or deletions, adapting the initial configuration information according to the target service environment information to obtain target configuration information;
or, under the condition that the initial configuration information has errors and/or deletions, correcting the initial configuration information to obtain corrected configuration information;
and according to the target service environment information, adapting the corrected configuration information to obtain target configuration information.
In this embodiment, the electronic device verifies and adjusts the initial configuration information, so as to ensure accuracy and validity of the initial configuration information, and further ensure accuracy and validity of the target configuration information.
For example, it may be checked whether there is an error or a miss in the configuration item in the initial configuration information. For example, the electronic device provides a common green light test, and for configuration of database connections, the electronic device can verify the correctness of the database connection-related configuration parameters and the availability of the database server through the common green light test.
According to the target service environment information, the electronic device can automatically select an appropriate object to configure and apply the appropriate object to the deployment process.
The electronic device may be provided with a user interaction interface through which requirements for developing user-enhanced initial configuration information, deployment timing, deployment checks, and the like are received. For example, a user may fill in configuration information of each service component in the application deployment system through a user interaction interface, and in a modern distributed architecture, the back of an internet platform often has many service components, and different service components are not completely isolated, and different scripts still need to be configured when a new version is deployed.
In S130, after analyzing the target configuration information and the target deployment condition to obtain the target variable, the target parameter and the target logic, the electronic device may further fill the preset script template with the target variable, the target parameter and the target logic to obtain a plurality of target deployment task scripts.
The preset script templates may include Shell scripts, python scripts, etc.
Optionally, after filling the preset script template by using the target variable, the target parameter and the target logic to obtain a plurality of target deployment task scripts, the method further comprises:
receiving a script changing request sent by a user based on a terminal, wherein the script changing request can comprise an object to be changed and a changing operation;
and executing the change operation on the object to be changed.
Thus, the system can be expanded and customized according to the needs to meet the deployment requirements of different scales and complexity.
The script change request may include an object to be changed and a change operation. The objects to be changed may include parameters to be changed, logic to be changed, variables to be changed, configuration items to be added, and the like. The change operation may include a delete operation, a replace operation, an add operation, and the like.
That is, the electronic device has a certain customization and expansion to meet the requirements of different applications and deployment scenarios. The user can customize and modify the generated target deployment task script according to the self requirement, and add specific logic or custom configuration items. For example, input type pages that are customizable and configurable simultaneously provide a system with very good custom features, and when old services are updated greatly or new services are online, users can configure corresponding scripts for batch verification. The electronic device may provide a corresponding interface or mechanism to support script extension and customization for the user.
In S140, after filling the preset script template with the target variable, the target parameter and the target logic to obtain a plurality of target deployment task scripts, each target deployment task script may be sequentially executed according to the target execution sequence and the target configuration information of each target deployment task script.
The target deployment task script can be output to the corresponding execution component according to the target configuration information, and the execution component is used for processing so as to execute the target deployment task script.
The mode of outputting the target deployment task script to the corresponding execution component comprises the following steps: the method is directly transferred to a file form of an execution component for execution and a script form of a script file set integrating a plurality of target deployment tasks, and developers can organize, deliver and the like according to actual deployment requirements.
Performance tuning of electronic devices requires operation and maintenance personnel to collect statistical information in time and perform optimization. The method has the advantages that nonfunctional testing is required to be carried out in a development and test environment, the usability, the sustainability and the stability of the component production script under the limit condition are evaluated, the optimal deployment script can be developed only through comprehensive performance evaluation and drilling, redundant steps are reduced, resource utilization is optimized, deployment time and resource consumption are reduced, and the overall deployment efficiency is improved.
The electronic equipment can automatically generate a target deployment task script for executing the deployment task according to the target configuration information and the target deployment condition. Therefore, the workload of manually writing scripts can be reduced, the accuracy and consistency of deployment are improved, the deployment speed is accelerated, and the flexibility and expandability of the system are enhanced.
And determining the target execution sequence and sequentially executing each target deployment task script according to the target execution sequence and the target configuration information, namely defining and configuring the deployment flow. The process may consist of multiple steps and multiple tasks, each step and each task representing a particular deployment operation or action. For example, a user may define and configure a flow by way of a user interface or configuration file of the electronic device, etc., specifying a dependency of a step.
The electronic device may manage and process dependencies between the various steps. The electronic device may determine, according to the target dependency configured by the user, a target execution order of each target deployment task script, that is, determine an execution order of each step.
The electronic equipment can schedule and execute each target deployment task script through the corresponding execution assembly or executor of each target deployment task script according to the target configuration information. Scheduling may be based on different scheduling policies. Scheduling policies may include first come first served, priority scheduling, resource scheduling, and so on.
The electronic device may have the capability to support parallel execution to improve application deployment efficiency and performance. The electronic device may determine whether to perform certain steps or tasks in parallel based on the resource situation of the application deployment system and the user's configuration. When the parallel execution is carried out, the electronic equipment can carry out resource management and scheduling so as to ensure reasonable allocation and utilization of resources and avoid resource competition and conflict.
In some alternative embodiments, the method further comprises:
recording abnormal occurrence information and context information of the abnormal occurrence information under the condition that abnormality exists in the application deployment process;
determining an abnormality type according to the abnormality occurrence information and the context information;
and executing the repair strategy corresponding to the abnormal type.
In the present embodiment, by recording abnormality occurrence information and context information of the abnormality occurrence information, problem analysis and trouble shooting can be performed. And determining the type of the abnormality according to the abnormality occurrence information and the context information so as to perform corresponding processing and response. After the abnormal type is determined according to the abnormal occurrence information and the context information, the repair strategy corresponding to the abnormal type can be executed, so that manual intervention can be reduced, the workload of a user can be lightened, and the automation degree of application deployment is improved.
Anomalies that exist during application deployment may include: version database statement execution failure, application service backup failure, deployment distribution failure, application service stop failure, application service green light test failure, application service health check failure, and network connection failure.
Illustratively, after the version database statement fails to execute, error statements, context information and statistics of overall version database statement execution conditions when an exception occurs are recorded. The records of the abnormal logs can be used for rapidly positioning the problems and finding out corresponding responsible persons. In the version development process, the database execution statement is generally the initial link in version deployment, and if the abnormal information is not handled in time, the subsequent application service deployment and service verification can be delayed, so that adverse effects are caused on the change plan of the production date. As such, the underlying exception handling policies and mechanisms are so important. Electronic devices define a series of exception handling policies and mechanisms that can handle basic error exceptions.
By way of example, exception types may include statement execution exceptions, backup exceptions, dispatch exceptions, stop exceptions, test exceptions, check exceptions, and network connection exceptions.
Illustratively, the repair policy may include: and (3) performing recovery operation, re-executing abnormal target deployment task scripts (namely automatic retry), providing automatic repair options, performing backup file inspection, application service process inspection and the like.
For example, for a stop exception and a backup exception in the deployment process, a backup file check and an application service process check may be performed; if the exception alert is simply due to an execution time timeout, then waiting may continue; when the test is abnormal, an automatic retry operation can be performed, and the start of the application service is verified again.
The context information of the abnormality occurrence information may include environment information and state information at the time of occurrence of the abnormality, and environment information, state information, operation information, and the like before occurrence of the abnormality.
The electronic equipment supports rapid expansion, and the comprehensiveness and accuracy of the components to the health and treatment of abnormal states are perfected by continuously updating the functions of the components.
The method has the advantages that the types, sources, severity and the like of the anomalies are manually classified and recorded, the types of the anomalies are determined by using an analysis technology in data mining, the learning processing capacity of the components is enhanced, and corresponding repairing strategies can be provided for different types of the anomalies. Electronic devices may be used for problem localization, improving the stability and reliability of the system. Meanwhile, the information such as the time, the type of abnormality, the processing result and the like of the occurrence of the abnormality recorded by the electronic equipment can provide analyzed and optimized data for a subsequent deployment mechanism.
The electronic device is capable of detecting, identifying and handling anomalies and errors during deployment. Therefore, the stability and reliability of deployment can be ensured, the abnormality can be processed in time, the fault risk and influence of the system are reduced, meanwhile, the electronic equipment can also generate an abnormality report, and the occurrence time, type, processing result and other information of the abnormality are recorded for subsequent analysis and optimization.
In some alternative embodiments, the method further comprises:
tracking the execution state of the target deployment task script aiming at each target deployment task script to obtain a target execution state, wherein the target execution state comprises an initial state (init state), a running state (running state), a pause state (puase state) and a completion state (done state);
switching the target execution state to a pause state under the condition that the maintenance time length of the target execution state is longer than or equal to the preset time length;
and rolling back to the execution state of the last target deployment task script of the target deployment task script corresponding to the target execution state under the condition that the target deployment task script corresponding to the target execution state has downstream service dependency.
In this embodiment, by setting multiple target execution states, it is beneficial for the banked user to know the progress and current execution situation for deployment. And under the condition that the target deployment task script corresponding to the target execution state has downstream service dependency, rolling back to the execution state of the last target deployment task script of the target deployment task script corresponding to the target execution state, thereby avoiding the occurrence of more deployment failures.
Downstream service dependencies may refer to one service or system depending on another service or system to accomplish a particular function or task.
The electronic device may record log information during application deployment. The log information may include information such as start time, end time, and execution results of the task for subsequent problem analysis and system optimization.
And under the condition that the target deployment task script corresponding to the target execution state does not have downstream service dependency, related personnel can be notified or corresponding abnormal processing flows can be triggered.
The preset time period can be set according to actual conditions, and is not limited herein.
The electronic device is able to efficiently coordinate and schedule the various steps and tasks in the deployment flow. The method ensures the correctness of the deployment sequence and the dependency relationship, supports parallel execution and resource management, records the abnormal condition of scheduling and provides a corresponding abnormal processing mechanism. Thus, the deployment efficiency and consistency can be improved, the need for manual intervention is reduced, and the reliability, maintainability and stability of the system are enhanced.
In some alternative embodiments, the method further comprises:
monitoring the application deployment process and the state of an application deployment system in a preset mode, wherein the preset mode comprises at least one of a polling mode, an event triggering mode and a subscription mechanism mode;
And under the condition that the total abnormal times are greater than or equal to a preset threshold value, outputting alarm information, wherein the alarm information is used for indicating that the total abnormal times are greater than or equal to the preset threshold value, and the total abnormal times are the sum of the abnormal times of the application deployment process and the application deployment system.
In this embodiment, by comparing the total number of abnormalities with a preset threshold, it is determined whether the alarm information needs to be output, so as to output the alarm information in time, and further, to handle the abnormal situation in time.
The way of outputting the alarm information may include: and outputting the alarm information in the form of voice and/or text.
The alarm information can be set according to actual conditions, and is not limited herein. For example, the alert information may include "deployment procedure exception, please handle" and the like.
The preset threshold value may be set according to practical situations, and is not limited herein. For example, the preset threshold may be 3, 5, etc.
The electronic device may also have data storage and processing functions to store, analyze and process the monitored data. The electronic device may use a database or other data storage technology to persist the collected monitoring data. Meanwhile, the electronic device can query, analyze and aggregate the stored monitoring data to generate reports and statistical information.
In some alternative embodiments, the method further comprises:
obtaining a target report template;
generating a deployment report according to the target deployment condition, the target configuration information and the target report template, wherein the deployment report comprises a deployment process abstract, an execution result summary and performance index trend analysis.
In this embodiment, a deployment report is generated according to the target deployment condition, the target configuration information and the target report template, so that a user can query and analyze the deployment situation, and customization and automation of the deployment report can be realized.
The target report template may be stored in the electronic device, and the electronic device may then directly obtain the target report template from itself.
Optionally, after the deployment report is generated, the deployment report may also be displayed. Thus, the deployment report can be visualized, so that the user can more intuitively know the system state. The presentation format may include: by at least one of a chart, dashboard, statistical graph, etc.
The electronic device may implement custom, automated, timed and export functions for deployment reports to meet user-specific needs. The user may select the content, time frame, index, etc. of the report for customization of the target report template and update it continuously, and the user may export the report in excel, word, pdf file or other form for further analysis and sharing.
Optionally, the method further comprises:
acquiring a monitoring index of the target application, wherein the monitoring index comprises at least one of deployment time, resource utilization rate, task execution state, deployment error and abnormal condition;
and analyzing the monitoring index to obtain an analysis report.
And analyzing the monitoring index to obtain an analysis report so that a user can know the monitoring state of the application deployment system in deployment.
The monitoring metrics may be used to measure and evaluate the performance and status of the deployment process and the application deployment system. The monitoring metrics may include deployment time, resource utilization, task execution status, deployment errors, abnormal conditions, and the like.
The electronic device can interact with the interfaces of the application deployment system and the scheduling flow execution component to acquire and summarize the monitoring indexes.
Analysis may include monitoring status of the application deployment system, and the like.
In some alternative embodiments, the method further comprises:
and updating the configuration version under the condition that the initial configuration information is monitored to be changed and the current test environment passes verification.
In the embodiment, when the initial configuration information is monitored to be changed and the current test environment passes the verification, the configuration version is updated, so that the configuration version can be automatically updated, and the complicated process of manually updating the configuration version is avoided.
The version management mechanism of the electronic device may use a distributed version control system (Global Information Tracker, GIT) repository. The GIT repository is a place in a version control system for storing project codes and version history. It is the core component for version control using the Git tool.
The GIT warehouse can be deployed in a development test environment, can support the version management of configuration, can provide methods for managing the configuration of different versions, can record the configuration version used in each deployment, and can check submitted staff, time, modification content and the like. Therefore, the electronic equipment can be rolled back or restored and configured to the designated version node, so that the electronic equipment can be quickly and accurately returned to the stable configuration file version when a problem occurs, and the safe and stable operation of the system is ensured.
The initial configuration information change may include: database password update, application service profile update, environment variable adjustment, etc.
And under the condition that the initial configuration information is monitored to be changed and the current test environment passes the verification, a new configuration version can be obtained, and the new configuration version is replaced by the configuration version to finish updating the configuration version.
Based on the same inventive concept, the embodiment of the application also provides an application deployment device. The application deployment apparatus is described below.
Fig. 2 shows a schematic structural diagram of an application deployment device according to an embodiment of the present application.
As shown in fig. 2, the application deployment apparatus 200 provided by the embodiment of the present application may include an acquisition module 210, a parsing module 220, a filling module 230, and an execution module 240.
The acquiring module 210 may be configured to acquire initial configuration information of a target application, target service environment information, target deployment conditions, and target dependency;
the parsing module 220 is configured to parse the target configuration information and the target deployment condition to obtain a target variable, a target parameter and a target logic;
the filling module 230 is configured to fill a preset script template by using a target variable, a target parameter and a target logic to obtain a plurality of target deployment task scripts, and the target configuration information is obtained by adapting the initial configuration information according to the target service environment information;
the execution module 240 may be configured to sequentially execute each target deployment task script according to a target execution sequence and target configuration information of each target deployment task script, where the target execution sequence is determined according to a target dependency relationship.
According to the application deployment device provided by the embodiment of the application, the target variable, the target parameter and the target logic are obtained by analyzing the target configuration information and the target deployment condition, then the target variable, the target parameter and the target logic are utilized to fill the preset script targets, a plurality of target deployment task scripts are obtained, and then each target deployment task script can be sequentially executed according to the target execution sequence and the target configuration information of each target deployment task script. That is, compared with manual application deployment, the embodiment of the application can automatically deploy the application, and improves the efficiency and accuracy of application deployment.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
the recording module is used for recording the abnormal occurrence information and the context information of the abnormal occurrence information under the condition that the abnormality exists in the application deployment process;
the determining module is used for determining the type of the abnormality according to the abnormality occurrence information and the context information;
the execution module is also used for executing the repair strategy corresponding to the abnormal type.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
the tracking module is used for tracking the execution state of the target deployment task script aiming at each target deployment task script to obtain a target execution state, wherein the target execution state comprises an initial state, an operation state, a pause state and a completion state;
the switching module is used for switching the target execution state into a pause state under the condition that the maintenance time length of the target execution state is longer than or equal to the preset time length;
and the rollback module is used for rollback to the execution state of the last target deployment task script of the target deployment task script corresponding to the target execution state under the condition that the target deployment task script corresponding to the target execution state has downstream service dependency.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
the monitoring module is used for monitoring the application deployment process and the state of the application deployment system in a preset mode, wherein the preset mode comprises at least one of a polling mode, an event triggering mode and a subscription mechanism mode;
the output module is used for outputting alarm information when the total number of the abnormal times is monitored to be greater than or equal to a preset threshold value, wherein the alarm information is used for indicating that the total number of the abnormal times is greater than or equal to the preset threshold value, and the total number of the abnormal times is the sum of the abnormal times of the application deployment process and the application deployment system.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
the acquisition module is also used for acquiring a target report template;
the generation module is used for generating a deployment report according to the target deployment condition, the target configuration information and the target report template, wherein the deployment report comprises a deployment process abstract, an execution result summary and performance index trend analysis.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
the obtaining module 210 is further configured to obtain a target internet protocol address if an application deployment request is received, where the application deployment request includes the target internet protocol address;
The obtaining module 210 may specifically be configured to:
and under the condition that the target Internet protocol address is in a preset white list, acquiring initial configuration information of the target application, target service environment information, target deployment conditions and target dependency relationship.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
the adaptation module is used for adapting the initial configuration information according to the target service environment information to obtain target configuration information under the condition that the initial configuration information is free from errors or deletions;
or the correction module is used for correcting the initial configuration information to obtain corrected configuration information under the condition that the initial configuration information has errors and/or deletions;
and the adaptation module is used for adapting the corrected configuration information according to the target service environment information to obtain target configuration information.
In some alternative embodiments, the application deployment apparatus 200 further comprises:
and the updating module is used for updating the configuration version under the condition that the initial configuration information is monitored to be changed and the current test environment passes the verification.
The specific manner in which the various modules perform the operations and the advantages of the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Fig. 3 shows a schematic hardware structure of an electronic device according to an embodiment of the present application.
As shown in fig. 3, a processor 301 and a memory 302 storing computer program instructions may be included in an electronic device.
In particular, the processor 301 may include a Central Processing Unit (CPU), or a specific integrated circuit (NpplicNtion Specific IntegrNted Circuit, NSIC), or may be configured as one or more integrated circuits implementing embodiments of the present application.
Memory 302 may include mass storage for data or instructions. By way of example, and not limitation, memory 302 may comprise a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, magnetic tape, or universal serial bus (UniversNl SeriNl Bus, USB) Drive, or a combination of two or more of the foregoing. Memory 302 may include removable or non-removable (or fixed) media, where appropriate. Memory 302 may be internal or external to the integrated gateway disaster recovery device, where appropriate. In a particular embodiment, the memory 302 is a non-volatile solid-state memory.
The memory may include Read Only Memory (ROM), random access memory (RNM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software comprising computer-executable instructions and when the software is executed (e.g., by one or more processors) it is operable to perform the operations described with reference to methods in accordance with aspects of the present disclosure.
The processor 301 implements any of the application deployment methods of the above embodiments by reading and executing computer program instructions stored in the memory 302.
In one example, the electronic device may also include a communication interface 303 and a bus 310. As shown in fig. 3, the processor 301, the memory 302, and the communication interface 303 are connected to each other by a bus 310 and perform communication with each other.
The communication interface 303 is mainly used to implement communication between each module, device, unit and/or apparatus in the embodiment of the present application.
Bus 310 includes hardware, software, or both, coupling the components of the application deployment device to each other. By way of example, and not limitation, the buses may include an accelerated graphics port (NGP) or other graphics bus, an enhanced industry standard architecture (EISN) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an industry standard architecture (ISN) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a micro channel architecture (MCN) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SNTN) bus, a video electronics standards association local (VLB) bus, or other suitable bus, or a combination of two or more of these. Bus 310 may include one or more buses, where appropriate. Although embodiments of the application have been described and illustrated with respect to a particular bus, the application contemplates any suitable bus or interconnect.
In addition, in combination with the application deployment method in the above embodiment, the embodiment of the present application may be implemented by providing a computer storage medium. The computer storage medium has stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement any of the application deployment methods of the above embodiments.
Embodiments of the present application also provide a computer program product, which when executed by a processor of an electronic device, performs the application deployment method according to any of the above embodiments.
It should be understood that the application is not limited to the particular arrangements and instrumentality described above and shown in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present application are not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between steps, after appreciating the spirit of the present application.
The functional blocks shown in the above-described structural block diagrams may be implemented in hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an application specific integrated circuit (NSIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave. A "machine-readable medium" may include any medium that can store or transfer information. Examples of machine-readable media include electronic circuitry, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio Frequency (RF) links, and the like. The code segments may be downloaded via computer networks such as the internet, intranets, etc.
It should also be noted that the exemplary embodiments mentioned in this disclosure describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, or may be performed in a different order from the order in the embodiments, or several steps may be performed simultaneously.
Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable application deployment apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable application deployment apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to being, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware which performs the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In the foregoing, only the specific embodiments of the present application are described, and it will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the systems, modules and units described above may refer to the corresponding processes in the foregoing method embodiments, which are not repeated herein. It should be understood that the scope of the present application is not limited thereto, and any equivalent modifications or substitutions can be easily made by those skilled in the art within the technical scope of the present application, and they should be included in the scope of the present application.