CN114879977A - Application deployment method, device and storage medium - Google Patents

Application deployment method, device and storage medium Download PDF

Info

Publication number
CN114879977A
CN114879977A CN202210457295.XA CN202210457295A CN114879977A CN 114879977 A CN114879977 A CN 114879977A CN 202210457295 A CN202210457295 A CN 202210457295A CN 114879977 A CN114879977 A CN 114879977A
Authority
CN
China
Prior art keywords
deployment
deployed
application
task
machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210457295.XA
Other languages
Chinese (zh)
Inventor
戴良斌
林菁
杨柳青
付文兰
杨浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beike Technology Co Ltd
Original Assignee
Beike Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beike Technology Co Ltd filed Critical Beike Technology Co Ltd
Priority to CN202210457295.XA priority Critical patent/CN114879977A/en
Publication of CN114879977A publication Critical patent/CN114879977A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Abstract

The embodiment of the invention provides an application deployment method, an application deployment device and a storage medium, wherein the method comprises the following steps: determining a machine list to be deployed and an application to be deployed; dividing deployment batches according to a list of machines to be deployed; wherein each deployment batch at least comprises one machine to be deployed; and generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks. According to the application deployment method, the application deployment device and the storage medium, the deployment tasks are sent to the machine to be deployed in a parallel mode in the same deployment batch through asynchronization among the deployment batches, and the application deployment efficiency is effectively improved.

Description

Application deployment method, device and storage medium
Technical Field
The embodiment of the invention relates to the technical field of computers, in particular to an application deployment method, an application deployment device and a storage medium.
Background
Due to the special service, part of applications can only be deployed on the windows server, so how to efficiently and reliably deploy the windows applications is very important. However, internet companies use Linux systems as servers more, and there are few mature and easy-to-use deployment schemes in Windows deployment.
An existing windows application deployment mode is based on Jenkins + Openssh application deployment, and when the application is deployed, the Jenkins is remotely connected to a machine to be deployed through SSH. Jenkins is an open source software project, is a continuous integration tool developed based on Java, is used for monitoring continuous and repeated work, and aims to provide an open and easy-to-use software platform so that the software project can be continuously integrated. Jenkins functions include: persistent software version release/test projects, monitoring work performed by external calls. OpenSSH is a free, open source implementation of ssh (secure shell) protocol. The SSH family of protocols may be used for remote control or to transfer files between computers.
The existing windows application deployment mode of Jenkins + Openssh requires that Jenkins are sequentially connected with machines to be deployed, serial operation is performed when the applications are deployed on a plurality of machines to be deployed in batches, and deployment efficiency is low.
Disclosure of Invention
In order to overcome the defects in the prior art, embodiments of the present invention provide an application deployment method, an application deployment device, and a storage medium.
The embodiment of the invention provides an application deployment method, which comprises the following steps: determining a machine list to be deployed and an application to be deployed; dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed; generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
According to an application deployment method provided by an embodiment of the present invention, the sending the deployment task to the to-be-deployed machines in each deployment batch in parallel in an asynchronous manner between the deployment batches includes: and writing the deployment tasks into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches.
According to an application deployment method provided by an embodiment of the present invention, the method further includes: receiving deployment process data sent by the machine to be deployed; wherein the deployment process data comprises a task state of the deployment task.
According to an embodiment of the present invention, the task state includes at least one of a task queuing, a waiting for ready state, a starting state, a success and a failure, wherein: the machine to be deployed does not consume the deployment task, and the task state is in task queuing; the machine to be deployed consumes the deployment task, and the task state is ready to wait; consuming the deployment task by the machine to be deployed and meeting the deployment condition of the deployment task, wherein the task state is in starting; when the task state is starting, the machine to be deployed executes the action of deploying the application to be deployed according to the deployment task; the action of deploying the application to be deployed according to the deployment task is successfully executed, and the task state is successful; and the action execution of the deployment of the application to be deployed according to the deployment task fails, and the task state is failure.
According to an application deployment method provided by an embodiment of the present invention, after the deployment tasks are sent to the machines to be deployed in each deployment batch in parallel in an asynchronous manner between the deployment batches, the method further includes: generating a lot ID corresponding to the deployment lot and a task ID corresponding to the machine to be deployed in the deployment lot; wherein the lot ID corresponds to the machine to be deployed contained in the deployment lot; and inquiring the deployment process data according to the batch ID and/or the task ID.
According to an application deployment method provided by an embodiment of the present invention, the determining a list of machines to be deployed includes: responding to the selection of the application to be deployed on a web page, and displaying a machine list associated with the application to be deployed; and selecting the machines to be deployed from the machine list associated with the applications to be deployed, and determining the machine list to be deployed according to a selection result.
According to an application deployment method provided by an embodiment of the present invention, the method further includes: responding to a deployment environment as a test environment, acquiring a code of the application to be deployed, compiling and packaging the code to generate a product, and uploading the product to a preset database; determining a product of the application to be deployed, which passes the test of the application to be deployed, in the preset database in response to the deployment environment being an online environment; wherein the artifact comprises version information.
According to an application deployment method provided by an embodiment of the present invention, the deploying the application to be deployed according to the deployment task includes: in response to the machine to be deployed running the application to be deployed currently, stopping the application to be deployed; downloading the product of the corresponding version of the application to be deployed by accessing the preset database; replacing the application to be deployed according to the product; and starting the application to be deployed.
An embodiment of the present invention further provides an application deployment apparatus, including: a determination module to: determining a machine list to be deployed and an application to be deployed; a batch module to: dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed; a deployment module to: generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
An embodiment of the present invention further provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the processor implements the steps of any of the application deployment methods described above when executing the program.
Embodiments of the present invention further provide a non-transitory computer readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the steps of any of the application deployment methods described above.
An embodiment of the present invention further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the application deployment method described in any of the above are implemented.
According to the application deployment method, the application deployment device and the storage medium, the deployment tasks are sent to the machine to be deployed in a parallel mode in the same deployment batch through asynchronization among the deployment batches, and the application deployment efficiency is effectively improved.
Drawings
In order to more clearly illustrate the technical solution of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
Fig. 1 is one of flow diagrams of an application deployment method provided in an embodiment of the present invention;
fig. 2 is a second schematic flowchart of an application deployment method according to an embodiment of the present invention;
fig. 3 is a third schematic flowchart of an application deployment method according to an embodiment of the present invention;
fig. 4 is a schematic diagram of a task state machine for characterizing task state flow in the application deployment method according to the embodiment of the present invention;
fig. 5 is a schematic structural diagram of an application deployment apparatus provided in an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of an application deployment system provided in an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is obvious that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The application deployment method provided by the embodiment of the invention is suitable for deployment of window machines and is also suitable for deployment of other machines such as linux.
Fig. 1 is a flowchart of an application deployment method according to an embodiment of the present invention. As shown in fig. 1, the method includes:
and step S1, determining a machine list to be deployed and an application to be deployed.
The application deployment method provided by the embodiment of the invention can be applied to a server, the list of machines to be deployed comprises at least one machine to be deployed, and the machine to be deployed is regarded as a client of the server. The server can set a deployment platform (also called a publishing platform) to manage and operate application deployment. The server may interact with the machine to be deployed through an API.
The application to be deployed is an application to be deployed on a machine to be deployed, and determining the application to be deployed comprises determining the version of the application to be deployed.
Step S2, dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed.
In order to improve the deployment efficiency, a batch deployment mode is adopted when the application is deployed. And when the deployment batches are divided, if the number of the machines of each deployment batch is predetermined, the deployment batches are divided for the machines to be deployed in the deployment machine list according to the number of the machines of each deployment batch. If there are 105 machines to be deployed in the list of machines to be deployed, and it is predetermined that each 10 machines to be deployed are in a batch, the deployment may be performed by dividing the batch into 11 batches, where 10 machines to be deployed are in the first 10 batches, and 5 machines to be deployed are in the last batch due to insufficient number. If there is no requirement for the number of machines in each deployment lot, the number of machines to be deployed in each deployment lot can be determined according to actual needs. Each deployment batch includes at least one machine to be deployed.
Of course, if the number of the machines to be deployed in the list of machines to be deployed is small, the machines may be deployed by one deployment batch.
Step S3, generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
And generating a deployment task of the application to be deployed, wherein the deployment task comprises information of the application to be deployed for determining the application to be deployed. The information of the application to be deployed may be embodied in the form of task parameters, for example, the task parameters include version information of the application to be deployed. After the deployment tasks of the applications to be deployed are generated, the deployment tasks are sent to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches. And after the machine to be deployed acquires the deployment task, deploying the application to be deployed according to the deployment task.
And for the machines to be deployed in the same deployment batch, sending the deployment tasks to the machines to be deployed in a parallel mode. For each deployment batch, the deployment tasks are sent to the machines to be deployed in each deployment batch in an asynchronous mode, that is, the sending of the deployment tasks of the machines to be deployed in the next batch is started without waiting for the completion of the deployment of the previous batch. After the deployment of the machines to be deployed in the previous batch is completed, the deployment result can be called back to the server.
The embodiment of the invention sends the deployment tasks to the machine to be deployed in a parallel mode in the same deployment batch by asynchronization between the deployment batches, thereby greatly improving the application deployment efficiency. Experimental data show that the deployment time can be shortened from 4 hours to 10 minutes.
According to the application deployment method provided by the embodiment of the invention, the deployment tasks are sent to the machine to be deployed in a parallel manner in the same deployment batch by virtue of asynchronization among the deployment batches, so that the application deployment efficiency is effectively improved.
According to an application deployment method provided by an embodiment of the present invention, the sending the deployment task to the to-be-deployed machines in each deployment batch in parallel in an asynchronous manner between the deployment batches includes: and writing the deployment tasks into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches.
A task queue may be set for each machine to be deployed. The task queue may include deployment tasks of a plurality of applications to be deployed sent by the server. Therefore, when the deployment tasks are sent to the machines to be deployed in each deployment batch in parallel in an asynchronous manner between the deployment batches, the deployment tasks can be written into the task queues corresponding to the machines to be deployed in each deployment batch in parallel in an asynchronous manner between the deployment batches. The machine to be deployed can be provided with a monitoring module for monitoring the state of the deployment tasks in the task queue and acquiring the deployment tasks in the task queue to deploy the corresponding tasks to be deployed.
According to the application deployment method provided by the embodiment of the invention, the deployment tasks are written into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches, so that the management of the deployment process of the machines to be deployed is facilitated.
According to an application deployment method provided by an embodiment of the present invention, the method further includes: receiving deployment process data sent by the machine to be deployed; wherein the deployment process data comprises a task state of the deployment task.
If a certain machine has problems in the same batch of deployment processes, not only the deployment time is greatly prolonged, but also the problem machine is difficult to find out quickly, and no reliable mechanism is available for confirming the batch of deployment results. In order to solve the above problem, in the embodiment of the present invention, a machine to be deployed records deployment process data of a deployment task, where the deployment process data includes a task state. The to-be-deployed machine may send the deployment process data to the server after the deployment of the to-be-deployed application is executed, or may send the deployment process data to the server in real time.
Correspondingly, the server receives and stores deployment process data sent by the machine to be deployed, wherein the deployment process data comprises a task state of a deployment task.
According to the application deployment method provided by the embodiment of the invention, the deployment process data including the task state and sent by the machine to be deployed is received, so that the deployment state of the deployment task can be monitored, the problem machine can be found in time, and unnecessary time waste is avoided.
According to an embodiment of the present invention, the task state includes at least one of a task queuing, a waiting for ready state, a starting state, a success and a failure, wherein: the machine to be deployed does not consume the deployment task, and the task state is in task queuing; the machine to be deployed consumes the deployment task, and the task state is ready to wait; the machine to be deployed consumes the deployment task and meets the deployment condition of the deployment task, and the task state is in starting; when the task state is starting, the machine to be deployed executes the action of deploying the application to be deployed according to the deployment task; the action of deploying the application to be deployed according to the deployment task is successfully executed, and the task state is successful; and the action execution of the deployment of the application to be deployed according to the deployment task fails, and the task state is failure.
In the whole deployment process, the deployment operation is converted into an asynchronous deployment task, so that the problem that a certain machine to be deployed has a task being processed or other faults block the overall deployment rhythm during deployment is avoided. The task state of the task to be deployed may be used to represent the deployment state of the corresponding machine to be deployed. The flow process of the task state of the task to be deployed can be represented by a task state machine.
The machine to be deployed can implement the deployment of the application to be deployed through the deployment tasks in the consumption task queue. Queuing is required because there may be multiple deployment tasks to be deployed in the task queue. If the machine to be deployed does not consume the deployment task, the task state is in task queue; if the machine to be deployed consumes the deployment task, the task state is ready to wait; if the deployment condition of the application to be deployed is met (if the installed application to be deployed has no task being processed), the state flow is started; if the deployment condition of the application to be deployed is not met at the moment, the task state is still ready to wait. And when the task state is starting, the machine to be deployed executes the action of deploying the application to be deployed according to the deployment task according to the task parameters in the deployment task.
If the action of deploying the application to be deployed by the machine to be deployed according to the deployment task is executed successfully, the task state is successful; and if the action execution of the machine to be deployed for deploying the application to be deployed according to the deployment task fails, the task state is failure.
The above state flow process may be pre-stored as deployment process data in the machine to be deployed, and the deployment process data is sent to the server after the execution of the action of deploying the application to be deployed according to the deployment task is completed (no matter success or failure).
According to the application deployment method provided by the embodiment of the invention, the richness and comprehensiveness of information acquisition in the deployment process are improved by setting the task states in task queuing, waiting for readiness, starting and representing the deployment result, and the whole application deployment process is favorably known.
According to an application deployment method provided by an embodiment of the present invention, after the deployment tasks are sent to the machines to be deployed in each deployment batch in parallel in an asynchronous manner between the deployment batches, the method further includes: generating a lot ID corresponding to the deployment lot and a task ID corresponding to the machine to be deployed in the deployment lot; wherein the lot ID corresponds to the machine to be deployed contained in the deployment lot; and inquiring the deployment process data according to the batch ID and/or the task ID.
After the deployment tasks are sent to the machines to be deployed in each deployment batch in parallel in an asynchronous manner between the deployment batches, the batch IDs corresponding to the deployment batches and the task IDs corresponding to the machines to be deployed in the deployment batches may be generated.
The lot ID corresponds to the to-be-deployed machine included in the deployment lot, and the deployment process data of the to-be-deployed machine in the corresponding lot can be queried according to the lot ID, for example, the task state of the to-be-deployed machine in the corresponding lot is queried. The task ID corresponds to the to-be-deployed machines included in the deployment batch, that is, the deployment batch and the to-be-deployed machines in the deployment batch can be determined according to the task ID. Deployment process data, such as task states, of the machines to be deployed in the list of machines to be deployed can be acquired according to the task IDs.
The lot ID may be associated with a task ID of a machine to be deployed in a corresponding deployment lot.
According to the application deployment method provided by the embodiment of the invention, the deployment process data is inquired according to the batch ID and/or the task ID by generating the batch ID corresponding to the deployment batch and the task ID corresponding to the to-be-deployed machines in the deployment batch, so that the different deployment batches and the different to-be-deployed machines are distinguished, and the convenience of data inquiry in the deployment process is improved.
According to an application deployment method provided by an embodiment of the present invention, the determining a list of machines to be deployed includes: responding to the selection of the application to be deployed on a web page, and showing a machine list associated with the application to be deployed; and selecting the machines to be deployed from the machine list associated with the applications to be deployed, and determining the machine list to be deployed according to a selection result.
The server may implement machine management, application management, and deployment record management. The data information to be stored may include information of the machine to be deployed, information of the application to be deployed, and deployment record information (e.g., including deployment process data). The 1 to-be-deployed machine may be associated with a plurality of to-be-deployed applications, and the 1 to-be-deployed application may have a plurality of deployment records. The 1 application to be deployed can have multiple versions, and the multiple deployment records can correspond to the multiple versions. Of course, the same version may be deployed multiple times.
The to-be-deployed application associated with the to-be-deployed machine represents the to-be-deployed application which needs to be deployed on the to-be-deployed machine, and the deployment of each to-be-deployed application on the to-be-deployed machine can be completed according to the deployment planning sequence. Machine and application management may perform CRUD operations (add (Create), read query (Retrieve), Update (Update), and Delete (Delete)) directly on a database basis.
A list of machines to be deployed may be determined on the web page based on an association relationship of the application to be deployed and the machines to be deployed. On the web page, a selection list of applications to be deployed can be set, and the applications to be deployed are determined through selection. After determining the application to be deployed, a list of machines associated with the application to be deployed may be presented. According to the deployment requirement, the list of the machines to be deployed is further selected and determined from the machine list associated with the application to be deployed.
According to the application deployment method provided by the embodiment of the invention, the web page responds to the selection of the application to be deployed, the machine list related to the application to be deployed is displayed, the selection of the machine to be deployed is carried out from the machine list related to the application to be deployed, and the machine list to be deployed is determined according to the selection result, so that the simplicity of determining the machine list to be deployed is improved.
According to an application deployment method provided by an embodiment of the present invention, the method further includes: responding to a deployment environment as a test environment, acquiring a code of the application to be deployed, compiling and packaging the code to generate a product, and uploading the product to a preset database; determining a product of the application to be deployed, which passes the test of the application to be deployed, in the preset database in response to the deployment environment being an online environment; wherein the artifact comprises version information.
The deployment environment during application deployment comprises a test environment and an online environment, the application deployment under the test environment aims to test the developed application to be deployed, and the developed application to be deployed is compiled, packaged and generated to be a product during deployment and stored in a preset database. Wherein the artifact comprises version information. The application deployment in the online environment aims to put the developed application to be deployed into operation, and a product version which passes the test needs to be selected during deployment.
Thus, after determining the application to be deployed, the deployment environment may be obtained. If the deployment environment is the test environment, acquiring a code of the application to be deployed, compiling and packaging the code to generate a product, and uploading the product to a preset database; for example, the product is generated by calling Jenkins to compile and pack. After the product is uploaded to the preset database, subsequent deployment operations may be performed based on the list of machines to be deployed, such as generating a deployment task and sending the deployment task to each machine to be deployed for deployment of the application to be deployed. The version information of the product belongs to the information of the application to be deployed, and can be included in the task parameters of the task to be deployed. The version of the artifact may be the same as the version of the application to be deployed.
And if the deployment environment is an online environment, determining a product of the application to be deployed, which passes the test of the application to be deployed, in the preset database. The method comprises the steps of determining a product of the application to be deployed, which passes a test of the application to be deployed, in a preset database, and determining a product version. After determining that the application to be deployed in the preset database has passed the test, a subsequent deployment operation may be performed based on the list of machines to be deployed, for example, a deployment task is generated and sent to each machine to be deployed to perform deployment of the application to be deployed.
According to the application deployment method provided by the embodiment of the invention, the code of the application to be deployed is obtained by responding to the deployment environment as the test environment, the code is compiled and packaged to generate a product, the product is uploaded to the preset database, and the product of the application to be deployed, which passes the test of the application to be deployed in the preset database, is determined by responding to the deployment environment as the on-line environment, so that the application deployment of the test environment and the on-line environment can be realized.
According to an application deployment method provided by an embodiment of the present invention, the deploying the application to be deployed according to the deployment task includes: in response to the machine to be deployed running the application to be deployed currently, stopping the application to be deployed; downloading the product of the corresponding version of the application to be deployed by accessing the preset database; replacing the application to be deployed according to the product; and starting the application to be deployed.
If the application to be deployed (which may include each version) is deployed on the machine to be deployed, if the application to be deployed is running during application deployment, first, the application needs to be taken out of service (service stopping, that is, running of the application to be deployed is stopped), and then operations such as product downloading, application replacement, application starting and the like are performed to deploy. Of course, if the application to be deployed is initially deployed on the machine to be deployed, there is no situation that the application to be deployed is running during deployment.
Therefore, when the application to be deployed is deployed according to the deployment task, the application to be deployed is stopped in response to the current running of the application to be deployed by the machine to be deployed; downloading a product of a corresponding version of the application to be deployed by accessing a preset database; replacing the application to be deployed according to the product; and starting the application to be deployed so as to complete the deployment of the application to be deployed.
According to the application deployment method provided by the embodiment of the invention, the application to be deployed is stopped in response to the current running of the application to be deployed of the machine to be deployed, the product of the corresponding version of the application to be deployed is downloaded by accessing the preset database, the application to be deployed is replaced according to the product, and the application to be deployed is started, so that the reliable deployment of the application to be deployed is realized.
Fig. 2 is a second flowchart of the application deployment method according to the embodiment of the present invention. The application deployment method provided by the embodiment of the invention can be realized by the Server terminal and the client terminal together. The Server end is mainly responsible for data storage, issuing management, the Client end executes specific application deployment actions after receiving the Server end commands, and the Server end is synchronized after the actions are completed. The Server end can be divided into a front end part and a rear end part, the front end web page is convenient for a user to deploy and operate, and the rear end is responsible for authority verification, application packaging, product uploading, deployment task generation and the like. The Client terminal (to-be-deployed machine) is used for consuming the deployment task, and performing operations such as service stopping, product package downloading, service starting and the like according to task parameters in the deployment task. As shown in fig. 2, the application deployment process includes:
judging whether a user logs in at a Server end; if not, jumping to a login page; if the user logs in, verifying the issuing authority (deployment authority); if the verification shows that the issuing authority does not exist, only checking can be carried out, and the issuing authority does not exist; and if the release authority is verified, selecting the application to be deployed.
Judging whether the current release environment (deployment environment) is a test environment or an online environment (release environment); if the system is in a test environment, the codes of the applications to be deployed in git (git is an open-source distributed version control system, and can effectively process the project version management from very small to very large at a high speed) are pulled, compiled and packaged to obtain products, and the products are uploaded to a preset database. If it is an online environment, the version of the product that has passed the test is selected. And determining a list of machines to be deployed, and dividing deployment batches. After the processing is completed, calling the API to generate deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches.
After the to-be-deployed machine acquires the to-be-deployed task, the to-be-deployed machine performs processing such as stopping application, downloading products, replacing application, starting application and the like according to the task parameters, and returns a deployment result to the Server end through callback after the processing is finished (for example, the deployment result is returned to an issuing platform of the Server end for query and display).
Fig. 3 is a third schematic flowchart of an application deployment method according to an embodiment of the present invention. The machine 1 and the machine 2 are Client terminals, and the rest modules belong to a Server terminal. For example, the publishing platform may be an operating platform used by the Server end to publish the deployment task, query the deployment result, and the like. As shown in fig. 3, the application deployment process includes:
step 1: the deployment environment is a test environment, and the release platform calls Jenkins to package.
Step 2: jenkins acquires codes of the applications to be deployed through the access git, and products are generated after the codes are compiled and packaged.
And step 3: the product is stored to minio (object store Server).
And 4, step 4: and after the product is uploaded to minio, Jenkins calls back the release platform. The release platform performs subsequent deployment operation based on the selected machine list to be deployed; in consideration of the deployment normativity, the product passing the test is directly adopted when the deployment environment is an online environment.
And 5: the publishing platform sends a deployment request to the deployment api service.
Step 6: after receiving the deployment request, the deployment api service verifies the release parameters (which may be preset parameters for judging release normativity), and generates a deployment task and writes the deployment task into a Redis (a storage system) task queue after the verification is passed; each machine to be deployed in the list to be deployed corresponds to one task queue.
And 7: and generating a batch ID and a task ID and returning the batch ID and the task ID to the issuing platform, and tracking the deployment task by the subsequent issuing platform according to the batch ID and the task ID.
And 8: and the service deployment module of the Client end can monitor the task queue all the time, and can perform subsequent application deployment operation when the deployment task is obtained.
And step 9: and when application deployment is carried out, downloading the product of the corresponding version from the minio, and carrying out application deployment operation.
Step 10: and after the application deployment is finished, callback of the deployment process data is returned to the issuing platform.
Fig. 4 is a schematic diagram of a task state machine for characterizing task state flow in the application deployment method according to the embodiment of the present invention. As shown in FIG. 4, the task state machine may include the following task states:
a) initialization: after the new machine completes initialization work: and logging the machine through the publishing platform, associating the application, and recording the state as initialization since the application on the machine is never deployed.
b) In task queuing: after a user issues an operation through a web page, a Server end writes a deployment task into a RedisR task queue, and records the deployment task as a task queue before consumption of a Client end.
c) Waiting for readiness: after a service deployment module of the Client end consumes the release task, the task state flow is converted into a waiting ready state, and if the application to be deployed does not have a task being processed at the moment, the flow is continued; otherwise the task state is still waiting ready.
d) In the starting process: if the application meets the deployment condition without the task being processed, the operations of stopping service, replacing codes, restarting and the like are carried out based on the task parameters.
e) If any step fails in the step d, the task state flow is failure, otherwise, the task state is success.
The application deployment method provided by the embodiment of the invention can solve the problems of too long time consumption, difficult problem positioning, disordered machine management and the like in the application deployment process, and can better serve the service.
Wherein:
1. and an asynchronous and parallel deployment mode is adopted to optimize the deployment process.
Because more business applications are offline tasks, in order to avoid the situation that a machine has running tasks or a certain machine has problems when the application is deployed and blocks the whole deployment process, the deployment adopts an asynchronous mode, and parallel deployment is better supported.
2. And summarizing deployment process data to realize monitoring of the deployment state.
After deployment of the Client end is finished, the Client end is called back to the Server end through the API, the data of the deployment process are uniformly converged to the Server end and stored in the database, the deployment progress and the deployment state of each machine can be inquired through the web page in a one-key mode, the deployment result of each machine can be conveniently tracked, and the time for positioning problems is shortened.
3. The unified management machine is used for uniformly managing and storing machines with different applications to the Server end, so that the information inconsistency among multiple data copies is avoided.
A deployment mode of Jenkins + Openssh exists, and the application is correspondingly managed through Jenkins joband can be deployed on a plurality of machines. Thus, the machine data may be stored in multiple copies. Storing multiple copies of data when it involves modification (e.g., a machine that is offline for all applications on the machine) can easily lead to data modification errors. The embodiment of the invention stores the machine list data into the database, only one copy of machine data is maintained, and the one-to-many relationship between the machine and the application can be managed through the external key association of the database, so that the unreliability of information modification is reduced through unified management.
The embodiment of the invention converts the cluster application deployment into the asynchronous release task, the application deployment of each machine to be deployed in the machine cluster is independent and does not influence each other, and the real parallel release can be realized. And a new task is generated every time the problem machine is published, the publishing condition of each machine is known by tracking the task state, and the problem machine is quickly and efficiently positioned.
It should be noted that, on the premise that logics or structures of a plurality of preferred embodiments provided in this embodiment do not conflict with each other, the preferred embodiments may be freely combined, and the present invention is not limited to this.
The application deployment apparatus provided in the embodiments of the present invention is described below, and the application deployment apparatus described below and the application deployment method described above may be referred to correspondingly.
Fig. 5 is a schematic structural diagram of an application deployment apparatus according to an embodiment of the present invention. As shown in fig. 5, the apparatus includes a determination module 10, a batch module 20, and a deployment module 30, wherein: the determination module 10 is configured to: determining a machine list to be deployed and an application to be deployed; the batch module 20 is used to: dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed; the deployment module 30 is configured to: generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
The application deployment device provided by the embodiment of the invention sends the deployment task to the machine to be deployed in a parallel mode in the same deployment batch by asynchronous deployment batches, thereby effectively improving the application deployment efficiency.
According to an application deployment apparatus provided in an embodiment of the present invention, when the deployment module 30 is configured to send the deployment task to the to-be-deployed machines in each deployment batch in parallel in an asynchronous manner between the deployment batches, specifically, the deployment module is configured to: and writing the deployment tasks into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches.
The application deployment device provided by the embodiment of the invention writes the deployment tasks into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches, so that the management of the deployment process of the machines to be deployed is facilitated.
According to an application deployment apparatus provided in an embodiment of the present invention, the deployment module 30 is further configured to: receiving deployment process data sent by the machine to be deployed; wherein the deployment process data comprises a task state of the deployment task.
The application deployment device provided by the embodiment of the invention is beneficial to realizing supervision on the deployment state of the deployment task by receiving the deployment process data including the task state sent by the machine to be deployed, is convenient to find out the problem machine in time, and avoids unnecessary time waste.
According to an embodiment of the present invention, the task state includes at least one of in-task queuing, waiting for ready, starting, success, and failure, where: the machine to be deployed does not consume the deployment task, and the task state is in task queuing; the machine to be deployed consumes the deployment task, and the task state is ready to wait; the machine to be deployed consumes the deployment task and meets the deployment condition of the deployment task, and the task state is in starting; when the task state is starting, the machine to be deployed executes the action of deploying the application to be deployed according to the deployment task; the action of deploying the application to be deployed according to the deployment task is successfully executed, and the task state is successful; and the action execution of the deployment of the application to be deployed according to the deployment task fails, and the task state is failure.
According to the application deployment device provided by the embodiment of the invention, the richness and comprehensiveness of information acquisition in the deployment process are improved by setting the task states in task queuing, waiting for readiness, starting and representing the deployment result, and the whole application deployment process is favorably known.
According to an application deployment apparatus provided in an embodiment of the present invention, after the deployment task is concurrently sent to the machines to be deployed in each deployment batch in an asynchronous manner between the deployment batches, the deployment module 30 is further configured to: generating a lot ID corresponding to the deployment lot and a task ID corresponding to the machine to be deployed in the deployment lot; wherein the lot ID corresponds to the machine to be deployed contained in the deployment lot; and inquiring the deployment process data according to the batch ID and/or the task ID.
According to the application deployment device provided by the embodiment of the invention, the deployment process data is inquired according to the batch ID and/or the task ID by generating the batch ID corresponding to the deployment batch and the task ID corresponding to the to-be-deployed machines in the deployment batch, so that the different deployment batches and the different to-be-deployed machines are distinguished, and the convenience of data inquiry in the deployment process is improved.
According to an application deployment apparatus provided in an embodiment of the present invention, when the determining module 10 is configured to determine a list of machines to be deployed, specifically: responding to the selection of the application to be deployed on a web page, and displaying a machine list associated with the application to be deployed; and selecting the machines to be deployed from the machine list associated with the applications to be deployed, and determining the machine list to be deployed according to a selection result.
According to the application deployment device provided by the embodiment of the invention, the web page responds to the selection of the application to be deployed, the machine list related to the application to be deployed is displayed, the selection of the machine to be deployed is carried out from the machine list related to the application to be deployed, the machine list to be deployed is determined according to the selection result, and the simplicity of determining the machine list to be deployed is improved.
According to an application deployment apparatus provided in an embodiment of the present invention, the deployment module 30 is further configured to: responding to a deployment environment as a test environment, acquiring a code of the application to be deployed, compiling and packaging the code to generate a product, and uploading the product to a preset database; determining a product of the application to be deployed, which passes the test of the application to be deployed, in the preset database in response to the deployment environment being an online environment; wherein the artifact comprises version information.
The application deployment device provided by the embodiment of the invention can realize the application deployment in the test environment and the online environment by responding to the deployment environment as the test environment, acquiring the code of the application to be deployed, compiling and packaging the code to generate a product, uploading the product to the preset database, responding to the deployment environment as the online environment, and determining the product of the application to be deployed in the preset database, which passes the test of the application to be deployed.
According to an application deployment apparatus provided by an embodiment of the present invention, the deployment module 30 is configured to send the deployment task to the to-be-deployed machines in each deployment batch in parallel, so that the to-be-deployed machines deploy the to-be-deployed applications according to the deployment task, and specifically configured to: and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel, so that the machines to be deployed respond to the current running of the machines to be deployed with the applications to be deployed, stop the applications to be deployed, download the products of the corresponding versions of the applications to be deployed by accessing the preset database, replace the applications to be deployed according to the products, and start the applications to be deployed.
The application deployment device provided by the embodiment of the invention stops the application to be deployed by responding to the current running of the application to be deployed of the machine to be deployed, downloads the product of the corresponding version of the application to be deployed by accessing the preset database, replaces the application to be deployed according to the product, and starts the application to be deployed, thereby realizing the reliable deployment of the application to be deployed.
Fig. 6 is a schematic structural diagram of an application deployment system according to an embodiment of the present invention. As shown in fig. 6, the system includes an application deployment apparatus 100 and a machine cluster 200, where: the application deployment device 100 is configured to: determining a machine list to be deployed and an application to be deployed; dividing deployment batches according to the list of the machines to be deployed; generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed 201 in each deployment batch in parallel in an asynchronous mode among the deployment batches; wherein the machine cluster 200 includes the machines 201 to be deployed in the list of machines to be deployed, and each deployment batch includes at least one of the machines 201 to be deployed;
the machine to be deployed 201 is configured to: and receiving the deployment task, and deploying the application to be deployed according to the deployment task.
According to the application deployment system provided by the embodiment of the invention, the deployment tasks are sent to the machine to be deployed in a parallel manner in the same deployment batch by virtue of asynchronization among the deployment batches, so that the application deployment efficiency is effectively improved.
According to an application deployment system provided by an embodiment of the present invention, when the application deployment apparatus 100 is configured to send the deployment task to the to-be-deployed machines in each deployment batch in parallel in an asynchronous manner between the deployment batches, specifically, it is configured to: and writing the deployment tasks into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches.
According to the application deployment system provided by the embodiment of the invention, the deployment tasks are written into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches, so that the management of the deployment process of the machines to be deployed is facilitated.
According to an application deployment system provided by an embodiment of the present invention, the machine to be deployed 201 is further configured to: sending deployment process data to the application deployment device 100; wherein the deployment process data comprises a task state of the deployment task; the application deployment apparatus 100 is further configured to receive the deployment process data sent by the machine to be deployed 201.
The application deployment system provided by the embodiment of the invention is beneficial to realizing supervision on the deployment state of the deployment task by receiving the deployment process data including the task state sent by the machine to be deployed, is convenient to find out the problem machine in time, and avoids unnecessary time waste.
According to an embodiment of the present invention, the task state includes at least one of in-task queuing, waiting for ready, starting, success, and failure, and the machine 201 to be deployed is further configured to: in response to not consuming the deployment task, setting the task state into task queuing; in response to consuming the deployment task, the task state is set to wait ready; in response to consuming the deployment task and satisfying a deployment condition of the deployment task, the task state is set to be in launch; when the task state is starting, executing the action of deploying the application to be deployed according to the deployment task; and responding to successful execution of the action of deploying the application to be deployed according to the deployment task, setting the task state as successful, failing to execute the action of deploying the application to be deployed according to the deployment task, and setting the task state as failed.
According to the application deployment system provided by the embodiment of the invention, the richness and comprehensiveness of information acquisition in the deployment process are improved by setting the task states in task queuing, waiting for readiness, starting and representing the deployment result, and the whole application deployment process is favorably known.
According to an application deployment system provided in the embodiment of the present invention, after the deployment tasks are concurrently sent to the machines to be deployed in each deployment batch in an asynchronous manner between each deployment batch, the application deployment device 100 is further configured to generate a batch ID corresponding to the deployment batch and a task ID corresponding to the machines to be deployed in the deployment batch; wherein the lot ID corresponds to the machine to be deployed contained in the deployment lot; and inquiring the deployment process data according to the batch ID and/or the task ID.
According to the application deployment system provided by the embodiment of the invention, the deployment process data is inquired according to the batch ID and/or the task ID by generating the batch ID corresponding to the deployment batch and the task ID corresponding to the to-be-deployed machines in the deployment batch, so that the different deployment batches and the different to-be-deployed machines are distinguished, and the convenience of data inquiry in the deployment process is improved.
According to an application deployment system provided in an embodiment of the present invention, when the application deployment apparatus 100 is used to determine a list of machines to be deployed, it is specifically configured to: responding to the selection of the application to be deployed on a web page, and displaying a machine list associated with the application to be deployed; and selecting the machines to be deployed from the machine list associated with the applications to be deployed, and determining the machine list to be deployed according to a selection result.
According to the application deployment system provided by the embodiment of the invention, the web page responds to the selection of the application to be deployed, the machine list related to the application to be deployed is displayed, the selection of the machine to be deployed is carried out from the machine list related to the application to be deployed, and the machine list to be deployed is determined according to the selection result, so that the simplicity of determining the machine list to be deployed is improved.
According to an application deployment system provided in an embodiment of the present invention, the application deployment apparatus 100 is further configured to: responding to a deployment environment as a test environment, acquiring a code of the application to be deployed, compiling and packaging the code to generate a product, and uploading the product to a preset database; determining a product of the application to be deployed, which passes the test of the application to be deployed, in the preset database in response to the deployment environment being an online environment; wherein the artifact comprises version information.
The application deployment system provided by the embodiment of the invention can realize the application deployment in the test environment and the online environment by responding to the deployment environment as the test environment, acquiring the code of the application to be deployed, compiling and packaging the code to generate a product, uploading the product to the preset database, and responding to the deployment environment as the online environment, determining the product of the application to be deployed in the preset database, which passes the test of the application to be deployed.
According to an application deployment system provided by an embodiment of the present invention, when the machine to be deployed 201 is used for deploying the application to be deployed according to the deployment task, specifically, the machine to be deployed is used for: in response to the machine to be deployed running the application to be deployed currently, stopping the application to be deployed; downloading the product of the corresponding version of the application to be deployed by accessing the preset database; replacing the application to be deployed according to the product; and starting the application to be deployed.
According to the application deployment system provided by the embodiment of the invention, the application to be deployed is stopped in response to the current running of the application to be deployed of the machine to be deployed, the product of the corresponding version of the application to be deployed is downloaded by accessing the preset database, the application to be deployed is replaced according to the product, and the application to be deployed is started, so that the reliable deployment of the application to be deployed is realized.
Fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, and as shown in fig. 7, the electronic device may include: a processor (processor)710, a communication Interface (Communications Interface)720, a memory (memory)730, and a communication bus 740, wherein the processor 710, the communication Interface 720, and the memory 730 communicate with each other via the communication bus 740. Processor 710 may call logic instructions in memory 730 to perform an application deployment method comprising: determining a machine list to be deployed and an application to be deployed; dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed; generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
In addition, the logic instructions in the memory 730 can be implemented in the form of software functional units and stored in a computer readable storage medium when the software functional units are sold or used as independent products. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
In another aspect, an embodiment of the present invention further provides a computer program product, where the computer program product includes a computer program, where the computer program is storable on a non-transitory computer-readable storage medium, and when the computer program is executed by a processor, a computer is capable of executing the application deployment method provided by the foregoing methods, and the method includes: determining a machine list to be deployed and an application to be deployed; dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed; generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
In yet another aspect, an embodiment of the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program is implemented to perform an application deployment method provided by the above methods when executed by a processor, and the method includes: determining a machine list to be deployed and an application to be deployed; dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed; generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. An application deployment method, comprising:
determining a machine list to be deployed and an application to be deployed;
dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed;
generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
2. The application deployment method according to claim 1, wherein the sending the deployment task in parallel to the machines to be deployed in each deployment batch in an asynchronous manner between the deployment batches comprises:
and writing the deployment tasks into the task queues corresponding to the machines to be deployed in the deployment batches in parallel in an asynchronous mode among the deployment batches.
3. The application deployment method of claim 2, further comprising:
receiving deployment process data sent by the machine to be deployed; wherein the deployment process data comprises a task state of the deployment task.
4. The application deployment method of claim 3 wherein the task state comprises at least one of in-task-queuing, waiting-ready, in-startup, success and failure, wherein:
the machine to be deployed does not consume the deployment task, and the task state is in task queuing;
the machine to be deployed consumes the deployment task, and the task state is ready to wait;
the machine to be deployed consumes the deployment task and meets the deployment condition of the deployment task, and the task state is in starting; when the task state is starting, the machine to be deployed executes the action of deploying the application to be deployed according to the deployment task;
the action of deploying the application to be deployed according to the deployment task is successfully executed, and the task state is successful; and the action execution of the deployment of the application to be deployed according to the deployment task fails, and the task state is failure.
5. The application deployment method according to claim 3, wherein after the deployment tasks are concurrently sent to the machines to be deployed in each deployment batch in an asynchronous manner between the deployment batches, the method further comprises:
generating a lot ID corresponding to the deployment lot and a task ID corresponding to the machine to be deployed in the deployment lot; wherein the lot ID corresponds to the machine to be deployed contained in the deployment lot;
and inquiring the deployment process data according to the batch ID and/or the task ID.
6. The application deployment method of claim 1, wherein the determining the list of machines to be deployed comprises:
responding to the selection of the application to be deployed on a web page, and displaying a machine list associated with the application to be deployed;
and selecting the machines to be deployed from the machine list associated with the applications to be deployed, and determining the machine list to be deployed according to a selection result.
7. The application deployment method of claim 1, further comprising:
responding to a deployment environment as a test environment, acquiring a code of the application to be deployed, compiling and packaging the code to generate a product, and uploading the product to a preset database;
determining a product of the application to be deployed, which passes the test of the application to be deployed, in the preset database in response to the deployment environment being an online environment; wherein the artifact comprises version information.
8. The application deployment method according to claim 7, wherein the deploying the application to be deployed according to the deployment task includes:
in response to the machine to be deployed running the application to be deployed currently, stopping the application to be deployed;
downloading the product of the corresponding version of the application to be deployed by accessing the preset database;
replacing the application to be deployed according to the product;
and starting the application to be deployed.
9. An application deployment apparatus, comprising:
a determination module to: determining a machine list to be deployed and an application to be deployed;
a batch module to: dividing deployment batches according to the list of the machines to be deployed; wherein each deployment batch comprises at least one machine to be deployed;
a deployment module to: generating deployment tasks of the applications to be deployed, and sending the deployment tasks to the machines to be deployed in each deployment batch in parallel in an asynchronous mode among the deployment batches so that the machines to be deployed can deploy the applications to be deployed according to the deployment tasks.
10. A non-transitory computer readable storage medium, having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the application deployment method according to any one of claims 1 to 8.
CN202210457295.XA 2022-04-27 2022-04-27 Application deployment method, device and storage medium Pending CN114879977A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210457295.XA CN114879977A (en) 2022-04-27 2022-04-27 Application deployment method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210457295.XA CN114879977A (en) 2022-04-27 2022-04-27 Application deployment method, device and storage medium

Publications (1)

Publication Number Publication Date
CN114879977A true CN114879977A (en) 2022-08-09

Family

ID=82671726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210457295.XA Pending CN114879977A (en) 2022-04-27 2022-04-27 Application deployment method, device and storage medium

Country Status (1)

Country Link
CN (1) CN114879977A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501339A (en) * 2023-06-26 2023-07-28 北京凌云雀科技有限公司 Application deployment method, device, electronic equipment and computer readable storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501339A (en) * 2023-06-26 2023-07-28 北京凌云雀科技有限公司 Application deployment method, device, electronic equipment and computer readable storage medium
CN116501339B (en) * 2023-06-26 2023-09-08 北京凌云雀科技有限公司 Application deployment method, device, electronic equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
KR102493449B1 (en) Edge computing test methods, devices, electronic devices and computer-readable media
CN106708740B (en) Script testing method and device
CN107911467B (en) Service operation management system and method for scripted operation
CN110895488B (en) Task scheduling method and device
US11449350B2 (en) Systems and methods for automatically updating compute resources
US11720424B2 (en) Single flow execution
CN111651352B (en) Warehouse code merging method and device
CN114879977A (en) Application deployment method, device and storage medium
CN110727575B (en) Information processing method, system, device and storage medium
US20090089772A1 (en) Arrangement for scheduling jobs with rules and events
CN117055930A (en) System upgrading deployment method and system
CN117076096A (en) Task flow execution method and device, computer readable medium and electronic equipment
EP3724759A1 (en) System and method of a cloud service provider virtual machine recovery
US20230066698A1 (en) Compute instance warmup operations
CN112667255B (en) Updating method, updating device, electronic equipment and storage medium
US11528185B1 (en) Automated network device provisioning
CN114610446A (en) Method, device and system for automatically injecting probe
CN113656378A (en) Server management method, device and medium
CN113934443A (en) Software upgrading system
CN112596750A (en) Application testing method and device, electronic equipment and computer readable storage medium
CN115372803B (en) Motherboard test system, method, device and storage medium
US20240126660A1 (en) File-based asynchronous and failsafe execution in cloud
CN113031960B (en) Code compiling method, device, server and storage medium
CN113190262B (en) Cloud-based distributed software version management and control system and control method
CN116400983B (en) Integrated management method and system for large-scale plug-in

Legal Events

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