CN108733380B - Application deployment method and device - Google Patents

Application deployment method and device Download PDF

Info

Publication number
CN108733380B
CN108733380B CN201710264927.XA CN201710264927A CN108733380B CN 108733380 B CN108733380 B CN 108733380B CN 201710264927 A CN201710264927 A CN 201710264927A CN 108733380 B CN108733380 B CN 108733380B
Authority
CN
China
Prior art keywords
software package
application
deployed
deployment
information
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.)
Active
Application number
CN201710264927.XA
Other languages
Chinese (zh)
Other versions
CN108733380A (en
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710264927.XA priority Critical patent/CN108733380B/en
Publication of CN108733380A publication Critical patent/CN108733380A/en
Application granted granted Critical
Publication of CN108733380B publication Critical patent/CN108733380B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the invention provides an application deployment method and device, which can efficiently and flexibly deploy applications, manage software packages and fully utilize server resources. An application deployment method of an embodiment of the present invention includes: configuring application information to be deployed and receiving an application deployment instruction; constructing an application to be deployed according to the configured application information to be deployed, and uploading the constructed software package; managing the uploaded software package to record information of the software package; and informing the application server to acquire the software package so that the application server can carry out installation and deployment.

Description

Application deployment method and device
Technical Field
The invention relates to the field of computers, in particular to an application deployment method and an application deployment device.
Background
At present, many applications are developed in a server deployment mode. When the system is deployed, links such as constructing a software package, uploading the software package to a server for deployment, restarting a software service container and the like are required. The deployment is quite complicated and repeated, and a large amount of time for software development and testing is occupied. And sometimes one application is not used for a long time after deployment and occupies server resources.
The technical scheme of the existing application deployment is as follows: locally constructing a software package and uploading the software package to a server for deployment; a fixed configuration task is established through an open source tool, and the task is triggered manually to be deployed.
In the process of implementing the invention, the inventor finds that at least the following problems exist in the prior art:
(1) many links before the software package is deployed need manual configuration;
(2) the software package deployment mode is not flexible enough and not universal;
(3) when a plurality of servers and software packages exist, the management of server resources and the gathering and deployment of related information are inconvenient.
Disclosure of Invention
In view of this, embodiments of the present invention provide an application deployment method and apparatus, which can efficiently and flexibly perform application deployment, can perform software package management, and fully utilize server resources.
To achieve the above object, according to an aspect of an embodiment of the present invention, an application deployment method is provided.
An application deployment method of an embodiment of the present invention includes: configuring application information to be deployed and receiving an application deployment instruction; constructing an application to be deployed according to the configured information of the application to be deployed, and uploading the constructed software package; managing the uploaded software package to record information of the software package; and informing the application server to acquire the software package so that the application server can carry out installation and deployment.
Optionally, configuring information of the application to be deployed, and receiving the application deployment instruction includes: and configuring information of the application to be deployed and receiving an application deployment instruction in response to manual or timed triggering of the task.
Optionally, the configured information of the application to be deployed includes: IP address of application server, domain name, code base, software package name, version of application server, compiling and packaging tool.
Optionally, managing the uploaded software package to record information of the software package includes: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
Optionally, the method further comprises: and monitoring the running state of the deployed software package and the running state of the application server, and providing an alarm function.
Optionally, the method further comprises: and inquiring whether the database has the software package to be deployed or not, and when the database has the software package to be deployed, downloading and storing the software package to be deployed as the constructed software package.
Optionally, the method further comprises: and inquiring whether the software package to be deployed is constructed or not, and when the application to be deployed is constructed, continuing to construct the application to be deployed by using the same construction task.
Optionally, the application server is notified to acquire the software package by means of remote interaction so that the application server can perform installation and deployment.
Optionally, the method further comprises: acquiring software package construction information, a deployment result, a deployed software package running state and an application server running state, and statistically analyzing the resource use condition and the application deployment condition of the application server according to the software package construction information, the deployment result, the deployed software package running state and the application server running state.
To achieve the above object, according to another aspect of the embodiments of the present invention, an application deployment apparatus is provided.
An application deployment apparatus according to an embodiment of the present invention includes: the deployment information management module is used for configuring information of the application to be deployed and receiving an application deployment instruction; the software package construction module is used for constructing the application to be deployed according to the configured application information to be deployed and uploading the constructed software package; the software package management module is used for managing the uploaded software package so as to record information of the software package; and the deployment control module is used for informing the application server of acquiring the software package so that the application server can carry out installation and deployment.
Optionally, configuring information of the application to be deployed, and receiving the application deployment instruction includes: and configuring information of the application to be deployed and receiving an application deployment instruction in response to manual or timed triggering of the task.
Optionally, the configured information of the application to be deployed includes: IP address of application server, domain name, code base, software package name, version of application server, compiling and packaging tool.
Optionally, managing the uploaded software package to record information of the software package includes: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
Optionally, the apparatus further comprises: and the monitoring management module is used for monitoring the running state of the deployed software package and the running state of the application server and providing an alarm function.
Optionally, the software package management module is further configured to query whether the database already has a software package to be deployed, and when the database has the software package to be deployed, download and store the software package to be deployed as a constructed software package.
Optionally, the software package building module is further configured to: and inquiring whether the software package to be deployed is constructed or not, and when the application to be deployed is constructed, continuously constructing the application to be deployed by using the same construction task.
Optionally, the apparatus further comprises: and the deployment control module informs the application server to acquire the software package through the remote control module and performs installation and deployment.
Optionally, the deployment information management module is further configured to: acquiring software package construction information, a deployment result, a deployed software package running state and an application server running state, and statistically analyzing the resource use condition and the application deployment condition of the application server according to the software package construction information, the deployment result, the deployed software package running state and the application server running state.
To achieve the above object, according to still another aspect of embodiments of the present invention, there is provided an electronic apparatus.
An electronic device of an embodiment of the present invention includes: one or more processors; a storage device, configured to store one or more programs, which when executed by the one or more processors, cause the one or more processors to implement an application deployment method according to an embodiment of the present invention.
To achieve the above object, according to still another aspect of embodiments of the present invention, there is provided a computer-readable medium.
A computer-readable medium of an embodiment of the present invention has a computer program stored thereon, which, when executed by a processor, implements an application deployment method of an embodiment of the present invention.
According to the technical scheme of the invention, one embodiment of the invention has the following advantages or beneficial effects: after the application information to be deployed is configured, subsequent construction, uploading and installation of the software package are automatically executed without manual participation, the problem that the links of construction and manual participation of software deployment are more is solved, and the application deployment efficiency is improved. The management of the software package is increased, the resource use condition and the application deployment condition of the application server are statistically analyzed according to the construction information and the deployment result of the software package, the operating state of the deployed software package and the operating state of the application server, the deployment management is carried out in a centralized mode, and the query, the analysis and the data mining information are facilitated.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of the main steps of an application deployment method according to an embodiment of the invention;
FIG. 2 is a schematic diagram illustrating an execution flow of an application deployment method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of the main modules of an application deployment apparatus according to an embodiment of the present invention;
FIG. 4 is a system architecture diagram of an application deployment apparatus according to an embodiment of the present invention;
FIG. 5 is a block diagram of a computer system suitable for use with the electronic device to implement an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In the embodiment of the invention, the previous application deployment method is improved, and a solution for remotely and automatically deploying the application is realized.
Fig. 1 is a schematic diagram of main steps of an application deployment method according to an embodiment of the present invention.
As shown in fig. 1, the application deployment method of the embodiment of the present invention mainly includes the following steps:
step S101: and configuring information of the application to be deployed and receiving an application deployment instruction. And configuring the information of the application to be deployed into information of configuration application, users and the like. The system specifically comprises user authority setting, server IP addresses, domain names, code bases, application package names, Web application server (such as tomcat) versions, jdk versions, maven versions and the like, and is used for informing which server is deployed, what jdk and maven versions are used during compiling and packaging, and what domain names and Web containers are used during deployment. The application deployment instructions are written by a user.
After the information configuration is completed in step S101, the construction, management, and deployment of the software package are started from step S102.
Step S102: and constructing the application to be deployed according to the configured application information to be deployed, and uploading the constructed software package. And constructing the application to be deployed by using an open source continuous integration tool such as Jenkins, and uploading the constructed software package to a software package management module for cloud storage.
Step S103: and managing the uploaded software package to record the information of the software package. The method specifically comprises the following steps: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
Step S104: and informing the application server to acquire the software package so that the application server can carry out installation and deployment. And after receiving the acquisition notice, the application server acquires the software package from the cloud storage and deploys the software package.
Fig. 2 is an execution flow diagram of an application deployment method according to an embodiment of the present invention.
As shown in fig. 2, in the embodiment of the present invention, a specific execution flow of the application deployment method is:
(1) the deployment information management module pre-configures application information to be deployed, receives an application deployment command and sends the application deployment command to the deployment control module;
(2) the deployment control module receives the deployment command and sends a query packet to the software package management module;
(3) the software package management module receives the query package, queries whether the software package to be deployed exists through the database, downloads and stores the software package when the software package to be deployed exists in the database, and feeds back a query result to the deployment control module;
(4) when the deployment control module receives the query result of the software package to be deployed in the database, the deployment control module directly informs the application server to acquire the software package to be deployed from the software package management module through the remote control module, and the execution is carried out (8); when the software package to be deployed does not exist in the database, informing a software package construction module to execute a software package construction task, and executing (5);
(5) the software package construction module receives the software package construction task, inquires whether the same application package is constructed, and if the same application package is constructed, the same construction task is used for execution (6); if the software package is not built, calling a continuous integration tool to build the software package, sending the built state to a database for modification, uploading the built software package to a software package management module, and executing (6);
(6) the software package management module records information of the software package and respectively updates the information to the database and the deployment control module;
(7) the deployment control module informs the application server to acquire the software package from the software package management module through the remote control module after the software package is uploaded;
(8) after the application server acquires the software package from the software package management module through the remote control module, deployment is completed through decompression and restart, and a deployment result is fed back to the deployment control module through the remote control module;
(9) the deployment control module sends the software package construction information and the deployment result to the deployment information management module;
(10) the monitoring management module monitors the running state of the deployed software package and the running state of the application server through the remote control module, sends the running state to the deployment information management module and provides an alarm function at the same time;
(11) the deployment information management module inquires the running state of the deployed software package and the running state of the application server from the monitoring module, and statistically analyzes the resource use condition and the application deployment condition of the application server according to the received software package construction information and deployment result, the inquired running state of the deployed software package and the running state of the application server.
The deployment information management module responds to manual or timing triggering of the task, configures application information to be deployed, and receives an application deployment instruction. Timing triggers are implemented by the quartz framework: a user configures a timed deployment task (site, server, construction parameter and trigger time), the task is automatically triggered after the trigger time is reached, and a software package construction module is informed to execute the construction task; the software package construction module returns the construction task number to the deployment control module; the deployment control module inquires the construction state through the construction task number; after the software package construction module finishes construction, submitting the software package to a software package management module; and then the control module is deployed to perform deployment operation. After deployment is completed, the deployment control module notifies the test module to perform BVT (structured Verification Testing) test, and if the test is passed, the deployment task is completed. And if the test fails, notifying a rollback module to perform software package rollback and execute the BVT test again, recording the test result, and finishing the rollback.
The configured information of the application to be deployed comprises: IP address of application server, domain name, code base, software package name, version of application server, compiling and packaging tool.
Wherein, the software package management module carries out information recording on the software package and comprises the following steps: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
In addition, the deployment control management module sends a query packet to the software package management module in a polling mode, and the purpose of sending the query packet is to query whether the specified software package exists. If not, calling the software package building module to repackage and deploy.
In addition, when the software package construction module inquires the construction information, if the software package with the same characteristic value (source code address, branch name, version number and compiling parameter) as the software package to be deployed is inquired in the database, the same construction task is carried out, and the construction task is continuously executed.
In addition, the software package building module is responsible for calling Jenkins building tasks and obtaining task building results in Jenkins. Jenkins are primarily responsible for performing the construction task.
In addition, the remote control module is a distributed unit, is distributed on all the servers and is responsible for the remote interaction of the application deployment system and the application servers.
According to the application deployment method provided by the embodiment of the invention, after the application information to be deployed is configured, the subsequent construction, uploading and installation of the software package are automatically executed without manual participation, so that the problem that the links of software construction and manual participation in deployment are more is solved, and the application deployment efficiency is improved. The management of the software package is increased, the resource use condition and the application deployment condition of the application server are statistically analyzed according to the software package construction information and the deployment result, the deployed running state of the software package and the running state of the application server, the deployment management is intensively performed, and the query, the analysis and the data mining information are convenient.
Fig. 3 is a schematic diagram of the main modules of the application deployment apparatus according to the embodiment of the present invention. As shown in fig. 3, the application deployment apparatus 300 according to the embodiment of the present invention mainly includes:
the deployment information management module 301 is configured to configure information of an application to be deployed and receive an application deployment instruction. The deployment information management module 301 is responsible for interacting with a user, configuring information such as an application and a user, and specifically includes user permission settings, a server IP address, a domain name, a code library, an application package name, a Web application server (e.g., tomcat) version, a jdk version, a maven version, and the like, and is used for informing which server is deployed, what jdk and maven version are used in compiling and packaging, and what domain name and Web container are used in deployment. The application deployment instructions are written by a user.
The software package building module 302 is configured to build an application to be deployed according to the configured information of the application to be deployed, and upload the built software package. The software package construction module 302 is responsible for receiving a software package construction task and feeding back a software package construction progress, constructing an application to be deployed by using an open source continuous integration tool such as Jenkins, and uploading the constructed software package to the software package management module 303 for cloud storage.
And the software package management module 303 is configured to manage the uploaded software package so as to record information of the software package. The software package management module 303 is responsible for uploading, storing, downloading and recording software package information of the software package.
And the deployment control module 304 is configured to notify the application server to acquire the software package so that the application server performs installation and deployment. The deployment control module 304 is responsible for controlling the whole process of compiling, packaging and deploying. After receiving the acquisition notification sent by the deployment control module 304, the application server sends a software package acquisition request to the software package management module 303, and the software package management module 303 uploads the software package to the application server according to the acquisition request so as to facilitate deployment of the application server.
FIG. 4 is a system architecture diagram of an application deployment device according to an embodiment of the present invention.
As shown in fig. 4, the system architecture of the application deployment apparatus according to the embodiment of the present invention includes a deployment information management module, a deployment control module, a software package management module, a software package construction module, a monitoring management module, and a remote control module. The deployment information management module pre-configures application information to be deployed, receives a deployment command and sends the deployment command to the deployment control module. The deployment control module receives the deployment command and sends a query package to the software package management module. The software package management module receives the query package, queries whether the software package to be deployed exists through the database, downloads and stores the software package when the software package to be deployed exists in the database, and feeds back a query result to the deployment control module. And when receiving the query result of the software package to be deployed in the database, the deployment control module directly informs the application server to acquire the software package to be deployed from the software package management module through the remote control module. And when the software package to be deployed does not exist in the received database, informing a software package construction module to execute a software package construction task. The software package construction module receives the software package construction task, inquires whether the same application package is constructed, and if so, uses the same construction task; if the software package is not built, calling a continuous integration tool to build the software package, sending the built state to the database for modification, and uploading the built software package to the software package management module. The software package management module records the construction information of the software package and respectively updates the construction information to the database and the deployment control module; and the deployment control module informs the application server to acquire the software package from the software package management module through the remote control module after the software package is uploaded. After the application server acquires the software package from the software package management module through the remote control module, deployment is completed through decompression and restart, and a deployment result is fed back to the deployment control module through the remote control module. And the deployment control module sends the software package construction information and the deployment result to the deployment information management module. The monitoring management module monitors the running state of the deployed software package and the running state of the application server through the remote control module, sends the running state to the deployment information management module, and provides an alarm function at the same time. The deployment information management module inquires the running state of the deployed software package and the running state of the application server from the monitoring module, and statistically analyzes the resource use condition and the application deployment condition of the application server according to the received software package construction information and deployment result, the inquired running state of the deployed software package and the running state of the application server.
The deployment information management module responds to manual or timing triggering of the task, configures application information to be deployed, and receives an application deployment instruction. Timing triggers are implemented by the quartz framework: a user configures a timed deployment task (site, server, construction parameter and trigger time), the task is automatically triggered after the trigger time is reached, and a software package construction module is informed to execute the construction task; the software package construction module returns the construction task number to the deployment control module; the deployment control module inquires the construction state through the construction task number; after the software package construction module finishes construction, submitting the software package to a software package management module; and then the control module is deployed to perform deployment operation. After deployment is completed, the deployment control module notifies the test module to perform BVT (structured Verification Testing) test, and if the test is passed, the deployment task is completed. And if the test fails, informing the rollback module to rollback the software package and executing the BVT test again, recording the test result, and finishing the rollback.
The configuring of the application information to be deployed includes: IP address of application server, domain name, code base, software package name, version of application server, compiling and packaging tool.
Wherein, the software package management module carries out information recording on the software package and comprises the following steps: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
In addition, the deployment control management module sends a query package to the software package management module in a polling mode, and the purpose of sending the query package is to query whether the specified software package exists or not. If not, calling the software package building module to repackage and deploy.
In addition, when the software package construction module inquires the construction information, if the software package with the same characteristic value (source code address, branch name, version number and compiling parameter) as the software package to be deployed is inquired in the database, the same construction task is carried out, and the construction task is continuously executed.
In addition, the software package building module is responsible for calling Jenkins building tasks and obtaining task building results in Jenkins. Jenkins are primarily responsible for performing the construction task.
In addition, the remote control module is a distributed unit, is distributed on all the servers and is responsible for the remote interaction of the application deployment system and the application servers.
From the above description, after the application information to be deployed is configured, the subsequent construction, uploading and installation of the software package are all automatically executed without manual participation, the problem that the links of the construction and the manual participation of the software deployment are many is solved, and the application deployment efficiency is improved. The management of the software package is increased, the resource use condition and the application deployment condition of the application server are statistically analyzed according to the software package construction information and the deployment result, the deployed running state of the software package and the running state of the application server, the deployment management is intensively performed, and the query, the analysis and the data mining information are convenient.
The invention also provides an electronic device and a computer readable medium according to the embodiment of the invention.
The electronic device of the present invention includes: one or more processors; a storage device, configured to store one or more programs, which when executed by the one or more processors, cause the one or more processors to implement an application deployment method according to an embodiment of the present invention.
The computer readable medium of the present invention has stored thereon a computer program which, when executed by a processor, implements an application deployment method of embodiments of the present invention.
Referring now to FIG. 5, shown is a block diagram of a computer system 500 suitable for use in implementing an electronic device of an embodiment of the present invention. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 5, the computer system 500 includes a Central Processing Unit (CPU)501 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage section 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data necessary for the operation of the computer system 500 are also stored. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
The following components are connected to the I/O interface 505: an input portion 506 including a keyboard, a mouse, and the like; an output portion 507 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 508 including a hard disk and the like; and a communication section 509 including a network interface card such as a LAN card, a modem, or the like. The communication section 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
In particular, the processes described in the main step diagrams above may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program containing program code for performing the method illustrated in the main step diagram. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 509, and/or installed from the removable medium 511. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 501.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present invention, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor includes a deployment information management module, a software package construction module, a software package management module, and a deployment control module. The names of these units do not form a limitation on the unit itself in some cases, for example, the deployment information management module may also be described as a "module that configures application information to be deployed and receives an application deployment instruction".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: configuring application information to be deployed and receiving an application deployment instruction; constructing an application to be deployed according to the configured information of the application to be deployed, and uploading the constructed software package; managing the uploaded software package to record information of the software package; and informing the application server to acquire the software package so that the application server can carry out installation and deployment.
According to the technical scheme of the invention, after the application information to be deployed is configured, the subsequent construction, uploading and installation of the software package are automatically executed without manual participation, so that the problem of more links of software construction and manual participation in deployment is solved, and the application deployment efficiency is improved. The management of the software package is increased, the resource use condition and the application deployment condition of the application server are statistically analyzed according to the software package construction information and the deployment result, the deployed running state of the software package and the running state of the application server, the deployment management is intensively performed, and the query, the analysis and the data mining information are convenient.
The product can execute the method provided by the embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the method provided by the embodiment of the present invention.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (18)

1. An application deployment method, comprising:
configuring application information to be deployed and receiving an application deployment instruction; wherein the information of the application to be deployed comprises: IP address, domain name, code base, software package name, version of application server, compiling and packaging tool of application server;
constructing an application to be deployed according to the configured application information to be deployed, and uploading the constructed software package to a software package management module for cloud storage;
managing the uploaded software package to record information of the software package;
and informing the application server to acquire the software package from the software package management module so that the application server can carry out installation and deployment.
2. The method of claim 1, wherein: configuring application information to be deployed, wherein the step of receiving an application deployment instruction comprises the following steps: and configuring information of the application to be deployed and receiving an application deployment instruction in response to manual or timed triggering of the task.
3. The method of claim 1, wherein managing the uploaded software package to record information of the software package comprises: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
4. The method of claim 1, further comprising: and monitoring the running state of the deployed software package and the running state of the application server, and providing an alarm function.
5. The method according to claim 1 or 2, characterized in that the method further comprises: and inquiring whether the database has the software package to be deployed or not, and when the database has the software package to be deployed, downloading and storing the software package to be deployed as the constructed software package.
6. The method according to claim 1 or 2, characterized in that the method further comprises: and inquiring whether the software package to be deployed is constructed or not, and when the application to be deployed is constructed, continuing to construct the application to be deployed by using the same construction task.
7. The method of claim 1 or 2, wherein the application server is informed to obtain the software package for installation and deployment by the application server through a remote interaction mode.
8. The method of claim 4, further comprising: acquiring software package construction information, a deployment result, a deployed software package running state and an application server running state, and statistically analyzing the resource use condition and the application deployment condition of the application server according to the software package construction information, the deployment result, the deployed software package running state and the application server running state.
9. An application deployment apparatus, comprising,
the deployment information management module is used for configuring information of the application to be deployed and receiving an application deployment instruction; wherein the information of the application to be deployed comprises: IP address, domain name, code base, software package name, version of application server, compiling and packaging tool of application server;
the software package construction module is used for constructing the application to be deployed according to the configured application information to be deployed and uploading the constructed software package to the software package management module for cloud storage;
the software package management module is used for managing the uploaded software package so as to record information of the software package;
and the deployment control module is used for informing the application server to acquire the software package from the software package management module so that the application server can carry out installation and deployment.
10. The apparatus of claim 9, wherein the configuring of the application information to be deployed, and the receiving of the application deployment instruction comprises: and configuring information of the application to be deployed and receiving an application deployment instruction in response to manual or timed triggering of the task.
11. The apparatus of claim 9, wherein managing the uploaded software package to record information of the software package comprises: and taking the Id corresponding to the domain name stored in the database as the directory name of a primary directory, and storing a compiling log file and a software package in the primary directory.
12. The apparatus of claim 9, further comprising: and the monitoring management module is used for monitoring the running state of the deployed software package and the running state of the application server and providing an alarm function.
13. The apparatus according to claim 9 or 10, wherein the software package management module is further configured to query whether the software package to be deployed already exists in the database, and when the software package to be deployed exists in the database, download and store the software package to be deployed as the built software package.
14. The apparatus of claim 9 or 10, wherein the software package building module is further configured to: and inquiring whether the software package to be deployed is constructed or not, and when the application to be deployed is constructed, continuing to construct the application to be deployed by using the same construction task.
15. The apparatus of claim 9 or 10, further comprising: and the deployment control module informs the application server to acquire the software package through the remote control module and performs installation and deployment.
16. The apparatus of claim 12, wherein the deployment information management module is further configured to: acquiring software package construction information, a deployment result, a deployed software package running state and an application server running state, and statistically analyzing the resource use condition and the application deployment condition of the application server according to the software package construction information, the deployment result, the deployed software package running state and the application server running state.
17. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-8.
18. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-8.
CN201710264927.XA 2017-04-21 2017-04-21 Application deployment method and device Active CN108733380B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710264927.XA CN108733380B (en) 2017-04-21 2017-04-21 Application deployment method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710264927.XA CN108733380B (en) 2017-04-21 2017-04-21 Application deployment method and device

Publications (2)

Publication Number Publication Date
CN108733380A CN108733380A (en) 2018-11-02
CN108733380B true CN108733380B (en) 2022-07-05

Family

ID=63933820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710264927.XA Active CN108733380B (en) 2017-04-21 2017-04-21 Application deployment method and device

Country Status (1)

Country Link
CN (1) CN108733380B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683917A (en) * 2018-12-18 2019-04-26 江苏满运软件科技有限公司 For the method for being deployed in application server, equipment and medium will to be applied
CN111381867B (en) * 2018-12-30 2023-05-09 贝壳技术有限公司 Packaging deployment method and device supporting service reconfiguration
CN110855627B (en) * 2019-01-16 2021-04-09 星环信息科技(上海)股份有限公司 Application deployment method, device, equipment and medium
CN109901842A (en) * 2019-01-17 2019-06-18 深圳壹账通智能科技有限公司 Application deployment method, apparatus, computer equipment and storage medium
CN110288104A (en) * 2019-07-04 2019-09-27 北京百佑科技有限公司 O&M flow system, O&M workflow management method and device
CN111026405B (en) * 2019-12-02 2023-04-28 中移物联网有限公司 Software deployment method and device and related nodes
CN111414172B (en) * 2020-03-18 2023-03-31 时时同云科技(成都)有限责任公司 Automatic deployment and release system and method for application software
CN113535186B (en) * 2020-04-15 2023-09-22 北京京东振世信息技术有限公司 Service application deployment method and device
CN112269646A (en) * 2020-10-26 2021-01-26 常州微亿智造科技有限公司 Remote operation control system and method for automatic operation and maintenance task deployment
CN112416379B (en) * 2021-01-21 2021-06-01 统信软件技术有限公司 Application program installation method and device, computing equipment and readable storage medium
CN113721940A (en) * 2021-08-25 2021-11-30 浙江大华技术股份有限公司 Software deployment method and device, electronic equipment and storage medium
CN114924755A (en) * 2022-05-23 2022-08-19 深圳微言科技有限责任公司 Application deployment method and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405523B2 (en) * 2013-11-04 2016-08-02 Bank Of America Corporation Automated build and deploy system
CN104536744B (en) * 2014-12-19 2018-07-13 微梦创科网络科技(中国)有限公司 A kind of method and server of automation structure and deployment code
CN104461567B (en) * 2014-12-24 2019-02-26 北京奇虎科技有限公司 The dissemination method and system of software package
CN105404528A (en) * 2015-09-28 2016-03-16 高新兴科技集团股份有限公司 Distributed automatic deployment system
CN106095408B (en) * 2016-05-31 2019-05-14 浙江网新恒天软件有限公司 A kind of system and method for data monitoring and Code automatic build and deployment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Thomas Muller ; Alois Knoll.Virtualization Techniques for Cross Platform Automated Software Builds, Tests and Deployment.《 2009 Fourth International Conference on Software Engineering Advances》.2009,73-77. *

Also Published As

Publication number Publication date
CN108733380A (en) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108733380B (en) Application deployment method and device
US10303452B2 (en) Application management in enterprise environments using cloud-based application recipes
US9529613B2 (en) Methods and apparatus to reclaim resources in virtual computing environments
US10599423B2 (en) Source code management for a multi-tenant platform-as-a-service (PaaS) system
US10698733B1 (en) Integrated system to distribute and execute complex applications
US9311161B2 (en) Automatically configured management service payloads for cloud IT services delivery
US20180088935A1 (en) Microservices application configuration based on runtime environment
US9274843B2 (en) Multi-redundant switchable process pooling for cloud it services delivery
US9459856B2 (en) Effective migration and upgrade of virtual machines in cloud environments
CN107463362B (en) Method and system for continuous deployment based on multiple Jenkins
WO2015192608A1 (en) Method for updating app in android system, terminal and storage medium
US9645809B2 (en) Updating software components through online stores
CN109725909A (en) Code file is packaged dispositions method, continuous integrating server and system
CN110727446A (en) Automatic deployment method, device, equipment and medium
US10761827B2 (en) WIN32 software distribution architecture
CN107291481B (en) Component updating method, device and system
US20170033980A1 (en) Agent manager for distributed transaction monitoring system
CN113626036A (en) Code integrated management method and system based on Jenkins
CN114546588A (en) Task deployment method and device, storage medium and electronic device
CN113064630A (en) Mobile terminal APP automatic packaging method and system, electronic device and storage medium
CN117112122A (en) Cluster deployment method and device
US9760364B2 (en) Checks for software extensions
CN107678969B (en) Test version release method and device, version control equipment and test machine
JP5359835B2 (en) Information processing apparatus, distribution system, and reception method
CN113296828A (en) Method, server and system for issuing application

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
GR01 Patent grant
GR01 Patent grant