CN107463362A - The method and system of lasting deployment based on multiple Jenkins - Google Patents

The method and system of lasting deployment based on multiple Jenkins Download PDF

Info

Publication number
CN107463362A
CN107463362A CN201610394227.8A CN201610394227A CN107463362A CN 107463362 A CN107463362 A CN 107463362A CN 201610394227 A CN201610394227 A CN 201610394227A CN 107463362 A CN107463362 A CN 107463362A
Authority
CN
China
Prior art keywords
environment
software
deployment
production environment
test
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.)
Granted
Application number
CN201610394227.8A
Other languages
Chinese (zh)
Other versions
CN107463362B (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 CN201610394227.8A priority Critical patent/CN107463362B/en
Publication of CN107463362A publication Critical patent/CN107463362A/en
Application granted granted Critical
Publication of CN107463362B publication Critical patent/CN107463362B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

The present invention provides a kind of method and system of the lasting deployment based on multiple Jenkins, software product can be made to carry out automatic test using unified flow and instrument in a variety of contexts, reliable automatically lasting deployment is realized, makes really effectively software finally to issue in production environment.This method includes:Respectively test environment, quasi- production environment, production environment build respective Jenkins platforms;The authentication relationship between the Jenkins platforms of each environment is configured, and Remote triggering mechanism is established between test environment and the Jenkins platforms of quasi- production environment, quasi- production environment and production environment;When there is code change, the software after being changed between each environment to code carries out continuing deployment.

Description

Method and system for continuous deployment based on multiple Jenkins
Technical Field
The invention relates to the field of computer technology and software, in particular to a method and a system for continuous deployment based on multiple Jenkins.
Background
Continuous deployment is a series of software development practices that ensure that code can be deployed to a production environment quickly and safely. The method ensures that each change of the code can be submitted to a simulated production environment and strictly automated test is carried out, and the code is deployed to the production environment after the business application and service are ensured to meet the requirements. The continuous deployment can enable the software defects to be discovered and repaired as early as possible, reduce the cost of projects, reduce a large amount of manual work and improve the efficiency of software development.
In continuous deployment, environments are generally divided into testing environments, quasi-production environments, and the like. Wherein, the test environment: providing the computing resources necessary to complete the software testing work, the testing environment need not be identical to the production environment, and typically only contains a subset of the data needed to facilitate the testing of the application; the quasi-production environment is as follows: the method is characterized in that the production environment is irregularly synchronized, the setting and data consistency with the production environment is maintained, the method is also used for testing, the method is most different from the testing environment in that the method is the highest in synchronization with the production system, almost the same, some tests, such as the test requiring large data quantity, can be more accurate in program performance than the test environment; the production environment is as follows: formally providing a service environment to the end user.
The new code changes can only be finally deployed to the production environment after passing a series of strict tests of the test environment and the quasi-production environment, so that the production environment is stably available at any time.
Because errors may exist in the testing process of the existing environments and manual examination is needed, automatic continuous deployment cannot be realized; and each environment is usually deployed by using a different platform or process, for example, as shown in fig. 1, a test environment is automatically deployed and tested by using Jenkins tool, a quasi-production environment may be manually deployed, and a final production environment is semi-automatically deployed by using another tool such as Jone (manual review process is required between compilation and deployment).
Thus, it can be seen that:
in the prior art, different processes and tools are used in different environments in the whole continuous deployment process, so that the probability of errors is increased, for example, the deployment process used in the production environment is not verified in an earlier test environment and a production-ready environment, but is only a special step in the environment. Without using a test environment, a quasi-production environment to verify each step that would run on the production environment, errors are likely to occur;
in view of the requirement of manual approval and the condition of network isolation between the production environment and the non-production environment, software deployed in the two environments may not even be products constructed at the same time, and the inconsistency increases the unreliability of products in the production environment and also increases the complexity of software problem solution;
in addition, because the whole process needs continuous human intervention, a large amount of repeated work is carried out, and interfaces among various different deployment tools are processed, the labor cost is greatly increased.
Disclosure of Invention
In view of this, the present invention provides a method and a system for continuous deployment based on multiple Jenkins, which can enable a software product to perform an automated test using a unified flow and tools in multiple environments, so as to achieve reliable and automatic continuous deployment, and enable a truly effective software to be finally released in a production environment.
To achieve the above object, according to one aspect of the present invention, there is provided a method for continuous deployment based on multiple Jenkins.
The invention discloses a method for continuous deployment based on multiple Jenkins, which comprises the following steps: respectively building a Jenkins platform for a test environment, a quasi-production environment and a production environment; configuring authentication relations among Jenkins platforms of all environments, and establishing a remote triggering mechanism between the Jenkins platforms of the test environment and the quasi-production environment, and between the quasi-production environment and the production environment; and when the code is changed, continuously deploying the software after the code is changed among the environments.
Optionally, when there is a code change, the continuously deploying the software after the code change among the environments includes: when a code is changed, automatically triggering a compiling task of a test environment, storing compiled software after the compiling task is successfully completed, and automatically triggering a deployment task under the environment, wherein the deployment task is used for acquiring the compiled software, and the testing task under the environment is automatically triggered to test after the deployment is completed; after the test environment successfully completes the test task, triggering a deployment task of the quasi-production environment through a remote triggering mechanism, wherein the deployment task of the quasi-production environment is used for acquiring software successfully tested by the test environment, and automatically triggering the test task in the environment to test after the deployment is completed; after the quasi-production environment successfully completes the test task, the deployment task of the production environment is triggered through a remote trigger mechanism, and the deployment task of the production environment is used for acquiring the software successfully tested by the quasi-production environment so as to complete the continuous deployment of the software of the version.
Optionally, the method further comprises: and storing the software compiled in the test environment on a cloud storage server, and downloading the software to be deployed from the cloud storage server when the software is deployed in each environment.
Optionally, the method further comprises: tags indicating that all tests have passed are added to software successfully tested by the test environment, tags indicating that all tests have passed are added to software successfully tested by the quasi-production environment, and tags indicating that software has been deployed in the production environment are added to software deployed by the production environment.
Optionally, the method further comprises: in the continuous deployment process, an error reminding mechanism of a Jenkins platform is used for monitoring whether the continuous deployment is carried out smoothly, and if the task execution fails in the continuous deployment process, an email is sent to notify a tester through an SMTP service.
To achieve the above object, according to another aspect of the present invention, there is provided a system for continuous deployment based on multiple Jenkins.
The invention relates to a system for continuous deployment based on a plurality of Jenkins, which comprises: the building module is used for building respective Jenkins platforms for a test environment, a quasi-production environment and a production environment; the configuration module is used for configuring the authentication relationship among the Jenkins platforms of all environments and establishing a remote trigger mechanism between the test environment and the production environment, and between the production environment and the Jenkins platforms of the production environment; and the continuous deployment module is used for continuously deploying the software after the code change among the environments when the code changes.
Optionally, the persistent deployment module is further configured to: when a code is changed, automatically triggering a compiling task of a test environment, storing compiled software after the compiling task is successfully completed, and automatically triggering a deployment task under the environment, wherein the deployment task is used for acquiring the compiled software, and the testing task under the environment is automatically triggered to test after the deployment is completed; after the test environment successfully completes the test task, triggering a deployment task of the quasi-production environment through a remote triggering mechanism, wherein the deployment task of the quasi-production environment is used for acquiring software successfully tested by the test environment, and automatically triggering the test task in the environment to test after the deployment is completed; after the quasi-production environment successfully completes the test task, the deployment task of the production environment is triggered through a remote trigger mechanism, and the deployment task of the production environment is used for acquiring the software successfully tested by the quasi-production environment so as to complete the continuous deployment of the software of the version.
Optionally, the system further comprises: and the cloud storage service module is used for storing the software compiled in the test environment on a cloud storage server and downloading the software to be deployed from the cloud storage server when the software is deployed in each environment.
Optionally, the cloud storage service module is further configured to: tags indicating that all tests have passed are added to software successfully tested by the test environment, tags indicating that all tests have passed are added to software successfully tested by the quasi-production environment, and tags indicating that software has been deployed in the production environment are added to software deployed by the production environment.
Optionally, the persistent deployment module is further configured to: in the continuous deployment process, an error reminding mechanism of a Jenkins platform is used for monitoring whether the continuous deployment is carried out smoothly, and if the task execution fails in the continuous deployment process, an email is sent to notify a tester through an SMTP service.
To achieve the above object, according to still another aspect of the present invention, there is provided a system for continuous deployment based on multiple Jenkins.
The invention discloses a system for continuous deployment based on multiple Jenkins, which comprises: a memory and a processor; wherein the memory stores instructions; the processor is configured to perform the following steps in accordance with the instructions: respectively building a Jenkins platform for a test environment, a quasi-production environment and a production environment; configuring authentication relations among Jenkins platforms of all environments, and establishing a remote triggering mechanism between the Jenkins platforms of the test environment and the quasi-production environment, and between the quasi-production environment and the production environment; and when the code is changed, continuously deploying the software after the code is changed among the environments.
According to the technical scheme of the invention, the consistency of the test tool and the test flow in each environment can be ensured by adopting a unified Jenkins platform in each environment; software in the continuous deployment process is stored in the cloud storage server, so that a user can be ensured to freely select time to connect to the cloud storage server to conveniently access data; the state of the software in the continuous deployment process is managed by using a tag adding mode, so that the progress of software deployment can be monitored, and the problem of inconsistent software versions deployed in the front environment and the rear environment in the continuous deployment process can be effectively prevented; by utilizing the self error reporting mechanism of Jenkins, the reliability of the software which finally passes the test can be ensured, and the deployment process does not need to be manually approved and controlled.
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 a prior art framework for a method of persistent deployment of software;
FIG. 2 is a schematic diagram of the main steps of a method for continuous deployment based on multiple Jenkins, according to an embodiment of the present invention;
FIG. 3 is a block diagram of a method for multi-Jenkins-based persistent deployment, according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of the major modules of a system for continuous deployment based on multiple Jenkins, in accordance with an embodiment of the present invention;
fig. 5 is a schematic diagram of the main parts of another system based on the continuous deployment of multiple Jenkins according to an embodiment of the present 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.
The technical scheme of the invention mainly solves the problems that a software product is automatically tested by using a uniform flow and tools in various environments, reliable continuous deployment is realized, and really effective software is finally released in a production environment.
Fig. 2 is a schematic diagram of the main steps of a method for continuous deployment based on multiple Jenkins according to an embodiment of the present invention.
As shown in fig. 2, the method for continuous deployment based on multiple Jenkins according to the embodiment of the present invention includes the following main steps:
step S11: respectively building a Jenkins platform for a test environment, a quasi-production environment and a production environment;
step S12: configuring authentication relations among Jenkins platforms of all environments, and establishing a remote triggering mechanism between the Jenkins platforms of the test environment and the quasi-production environment, and between the quasi-production environment and the production environment;
step S13: and when the code is changed, continuously deploying the software after the code is changed among the environments.
When the code is changed, the continuous deployment of the software after the code change among the environments comprises the following steps: when a code is changed, automatically triggering a compiling task of a test environment, storing compiled software after the compiling task is successfully completed, and automatically triggering a deployment task under the environment, wherein the deployment task is used for acquiring the compiled software, and the testing task under the environment is automatically triggered to test after the deployment is completed; after the test environment successfully completes the test task, triggering a deployment task of the quasi-production environment through a remote triggering mechanism, wherein the deployment task of the quasi-production environment is used for acquiring software successfully tested by the test environment, and automatically triggering the test task in the environment to test after the deployment is completed; after the quasi-production environment successfully completes the test task, the deployment task of the production environment is triggered through a remote trigger mechanism, and the deployment task of the production environment is used for acquiring the software successfully tested by the quasi-production environment so as to complete the continuous deployment of the software of the version.
Specifically, in the embodiment of the invention, respective Jenkins platforms are respectively built for each environment for continuous deployment. The Jenkins (continuous integration platform) provides an easy-to-use continuous integration system for various environments, monitors errors existing in integration, provides detailed log files and reminding functions, and vividly shows project construction trends and performance stability in the form of charts. The user can create multiple tasks (jobs) on this platform, such as: compiling the jobs, testing the jobs and deploying the jobs, and specifying the upstream and downstream relation and execution sequence among the Jobs, wherein Jenkins can execute the Jobs in sequence according to the execution conditions of the Jobs. In the continuous deployment process, whether continuous deployment is carried out smoothly is monitored by using an error reminding mechanism of a Jenkins platform, specifically, after a task starts, the platform can acquire task running log information in real time, and meanwhile, a mail notification can be sent out when the task fails to be executed through smtp service.
Besides building Jenkins platforms for all links, authentication relations among the Jenkins platforms in all environments need to be configured. In the embodiment of the invention, the authentication among a plurality of Jenkins platforms can be carried out through token authentication, the Jenkins can be directly configured, and in addition, proxy services may be required to be set among different Jenkins platforms.
In order to perform automatic continuous deployment, after the authentication relationship between the Jenkins in each environment is configured, a Remote triggering technology (Remote Trigger) can be used for providing Remote triggering between the two Jenkins (continuous integration platforms). In the embodiment of the invention, a remote trigger mechanism is established between a test environment and a quasi-production environment, and between a quasi-production environment and a Jenkins platform of a production environment. In the embodiment of the invention, the remote trigger jobs can be created in the test environment and the quasi-production environment, namely, after the test jobs of the test environment is successfully completed, the remote trigger jobs in the environment are automatically triggered, and the deployment jobs of the quasi-production environment are triggered through the remote trigger jobs. Similarly, after the test jobof the quasi-production environment is successfully completed, the deployment jobof the production environment is triggered by the remote trigger jobb.
In addition, in order to facilitate a user to conveniently access data at any time, in the embodiment of the present invention, a cloud storage service is also used to access software that needs to be deployed. The cloud storage service improves a cloud computing system taking data storage and management as a core, and is convenient for a user to be connected to the cloud for data access at any time.
In addition, in the embodiment of the invention, different labels can be marked on the software to be deployed on the cloud storage server according to different test completion stages so as to represent different states. For example, a Tested tag, a Pre-Released tag, and a Released tag may be utilized to indicate that software has been deployed in a test environment, all tests have passed, software has been deployed in a production-ready environment, all tests have passed, and software has been deployed in a production environment, respectively. In the continuous deployment process, labels indicating that all tests have passed are added to software successfully tested by a test environment, labels indicating that all tests have passed are added to software successfully tested by a production environment, and labels indicating that software has been deployed in the production environment are added to software deployed by the production environment.
After the construction and configuration of all the continuous deployment frameworks are completed, the continuous deployment of the software can be carried out in a test environment, a quasi-production environment and a production environment. The specific process can be seen in FIG. 3. And when the code is changed, the compiling jobof the test environment is automatically triggered, the compiled software is uploaded to a cloud storage server, and the cloud storage server is responsible for version management and state management of the software. And after the job is compiled successfully, automatically triggering the deployment job of the test environment. And deploying the jobs to download the software from the cloud storage server, then sequentially triggering the test jobs, and setting the software state of the version as Tested after all tests pass.
And after the test job of the test environment is successful, triggering the deployment job of the quasi-production environment by remotely triggering the job. And the deployment jobs obtains the software in the Tested state from the cloud storage server for deployment, the software is Tested through the test jobs, and after the software passes the test of the quasi-production environment, the state of the software is marked as Pre-released.
After the test jobof the quasi-production environment is successful, the remote trigger jobis automatically triggered, and the deployment jobof the production environment is triggered through the remote trigger job. And the jobs is deployed to acquire the software in the Pre-freed state from the cloud storage server for deployment, and the software state is marked as the freed.
In the continuous deployment process, the deployment tools and the processes of all the environments are kept consistent, so that the deployment process of the production environment is tested and verified in a test environment and a quasi-production environment, the deployment of all the environments is uniform, and the reliability of software in the production environment is improved; moreover, the technical scheme realizes continuous deployment among a plurality of environments, and does not need human intervention from code change to final release to a production environment.
According to the method for continuous deployment based on multiple Jenkins, disclosed by the embodiment of the invention, the consistency of a test tool and a test flow in each environment can be ensured by adopting a uniform Jenkins platform in each environment; software in the continuous deployment process is stored in the cloud storage server, so that a user can be ensured to freely select time to connect to the cloud storage server to conveniently access data; the state of the software in the continuous deployment process is managed by using a tag adding mode, so that the progress of software deployment can be monitored, and the problem of inconsistent software versions deployed in the front environment and the rear environment in the continuous deployment process can be effectively prevented; by utilizing the self error reporting mechanism of Jenkins, the reliability of the software which finally passes the test can be ensured, and the deployment process does not need to be manually approved and controlled.
FIG. 4 is a schematic diagram of the main modules of a system for continuous deployment based on multiple Jenkins, according to an embodiment of the present invention.
As shown in fig. 4, the system 40 for continuous deployment based on multiple Jenkins according to the embodiment of the present invention mainly includes the following modules: a building module 401, a configuration module 402, and a continuous deployment module 403, wherein,
the building module 401 is used for building respective Jenkins platforms for a test environment, a quasi-production environment and a production environment respectively; the configuration module 402 is used for configuring the authentication relationship between the Jenkins platforms of each environment, and establishing a remote trigger mechanism between the test environment and the quasi-production environment, and between the quasi-production environment and the Jenkins platforms of the production environment; the persistent deployment module 403 is configured to persistently deploy the software after the code change among the environments when the code changes.
Wherein the persistent deployment module 403 is further operable to: when a code is changed, automatically triggering a compiling task of a test environment, storing compiled software after the compiling task is successfully completed, and automatically triggering a deployment task under the environment, wherein the deployment task is used for acquiring the compiled software, and the testing task under the environment is automatically triggered to test after the deployment is completed; after the test environment successfully completes the test task, triggering a deployment task of the quasi-production environment through a remote triggering mechanism, wherein the deployment task of the quasi-production environment is used for acquiring software successfully tested by the test environment, and automatically triggering the test task in the environment to test after the deployment is completed; after the quasi-production environment successfully completes the test task, the deployment task of the production environment is triggered through a remote trigger mechanism, and the deployment task of the production environment is used for acquiring the software successfully tested by the quasi-production environment so as to complete the continuous deployment of the software of the version.
Further, the system 40 may further include: and a cloud storage service module (not shown in the figure) for storing the software compiled in the test environment on the cloud storage server, and downloading the software to be deployed from the cloud storage server when the software is deployed in each environment.
The cloud storage service module may be further operable to: tags indicating that all tests have passed are added to software successfully tested by the test environment, tags indicating that all tests have passed are added to software successfully tested by the quasi-production environment, and tags indicating that software has been deployed in the production environment are added to software deployed by the production environment.
In addition, the persistent deployment module 403 may also be configured to: in the continuous deployment process, an error reminding mechanism of a Jenkins platform is used for monitoring whether the continuous deployment is carried out smoothly. Specifically, if a task fails to be executed during the continuous deployment process, the continuous deployment module 403 may be configured to send an email to notify the tester through the SMTP service.
Fig. 5 is a schematic diagram of the main parts of another system based on the continuous deployment of multiple Jenkins according to an embodiment of the present invention.
As shown in fig. 5, another system 50 for continuous deployment based on multiple Jenkins according to an embodiment of the present invention mainly includes the following components: a memory 501 and a processor 502; wherein,
the memory 501 stores instructions; the processor 502 is configured to perform the following steps in accordance with the instructions: respectively building a Jenkins platform for a test environment, a quasi-production environment and a production environment; configuring authentication relations among Jenkins platforms of all environments, and establishing a remote triggering mechanism between the Jenkins platforms of the test environment and the quasi-production environment, and between the quasi-production environment and the production environment; and when the code is changed, continuously deploying the software after the code is changed among the environments.
From the above description, it can be seen that the consistency of the test tools and the test flow in each environment can be ensured by adopting a unified Jenkins platform in each environment; software in the continuous deployment process is stored in the cloud storage server, so that a user can be ensured to freely select time to connect to the cloud storage server to conveniently access data; the state of the software in the continuous deployment process is managed by using a tag adding mode, so that the progress of software deployment can be monitored, and the problem of inconsistent software versions deployed in the front environment and the rear environment in the continuous deployment process can be effectively prevented; by utilizing the self error reporting mechanism of Jenkins, the reliability of the software which finally passes the test can be ensured, and the deployment process does not need to be manually approved and controlled.
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 (11)

1. A method for continuous deployment based on multiple Jenkins, comprising:
respectively building a Jenkins platform for a test environment, a quasi-production environment and a production environment;
configuring authentication relations among Jenkins platforms of all environments, and establishing a remote triggering mechanism between the Jenkins platforms of the test environment and the quasi-production environment, and between the quasi-production environment and the production environment;
and when the code is changed, continuously deploying the software after the code is changed among the environments.
2. The method of claim 1, wherein the persistent deployment of the code-altered software between environments when code changes comprises:
when a code is changed, automatically triggering a compiling task of a test environment, storing compiled software after the compiling task is successfully completed, and automatically triggering a deployment task under the environment, wherein the deployment task is used for acquiring the compiled software, and the testing task under the environment is automatically triggered to test after the deployment is completed;
after the test environment successfully completes the test task, triggering a deployment task of the quasi-production environment through a remote triggering mechanism, wherein the deployment task of the quasi-production environment is used for acquiring software successfully tested by the test environment, and automatically triggering the test task in the environment to test after the deployment is completed;
after the quasi-production environment successfully completes the test task, the deployment task of the production environment is triggered through a remote trigger mechanism, and the deployment task of the production environment is used for acquiring the software successfully tested by the quasi-production environment so as to complete the continuous deployment of the software of the version.
3. The method of claim 2, further comprising:
saving the software compiled in the test environment on a cloud storage server, and
when deployment is carried out in each environment, software needing deployment is downloaded from the cloud storage server.
4. The method of claim 3, further comprising:
tags indicating that all tests have passed are added to software successfully tested by the test environment, tags indicating that all tests have passed are added to software successfully tested by the quasi-production environment, and tags indicating that software has been deployed in the production environment are added to software deployed by the production environment.
5. The method of claim 1, further comprising: in the continuous deployment process, an error reminding mechanism of a Jenkins platform is used for monitoring whether the continuous deployment is carried out smoothly, and if the task execution fails in the continuous deployment process, an email is sent to notify a tester through an SMTP service.
6. A system for continuous deployment based on multiple Jenkins, the system comprising:
the building module is used for building respective Jenkins platforms for a test environment, a quasi-production environment and a production environment;
the configuration module is used for configuring the authentication relationship among the Jenkins platforms of all environments and establishing a remote trigger mechanism between the test environment and the production environment, and between the production environment and the Jenkins platforms of the production environment;
and the continuous deployment module is used for continuously deploying the software after the code change among the environments when the code changes.
7. The system of claim 6, wherein the persistent deployment module is further configured to:
when a code is changed, automatically triggering a compiling task of a test environment, storing compiled software after the compiling task is successfully completed, and automatically triggering a deployment task under the environment, wherein the deployment task is used for acquiring the compiled software, and the testing task under the environment is automatically triggered to test after the deployment is completed;
after the test environment successfully completes the test task, triggering a deployment task of the quasi-production environment through a remote triggering mechanism, wherein the deployment task of the quasi-production environment is used for acquiring software successfully tested by the test environment, and automatically triggering the test task in the environment to test after the deployment is completed;
after the quasi-production environment successfully completes the test task, the deployment task of the production environment is triggered through a remote trigger mechanism, and the deployment task of the production environment is used for acquiring the software successfully tested by the quasi-production environment so as to complete the continuous deployment of the software of the version.
8. The system of claim 7, further comprising:
and the cloud storage service module is used for storing the software compiled in the test environment on a cloud storage server and downloading the software to be deployed from the cloud storage server when the software is deployed in each environment.
9. The system of claim 8, wherein the cloud storage service module is further configured to:
tags indicating that all tests have passed are added to software successfully tested by the test environment, tags indicating that all tests have passed are added to software successfully tested by the quasi-production environment, and tags indicating that software has been deployed in the production environment are added to software deployed by the production environment.
10. The system of claim 6, wherein the persistent deployment module is further configured to: in the continuous deployment process, an error reminding mechanism of a Jenkins platform is used for monitoring whether the continuous deployment is carried out smoothly, and if the task execution fails in the continuous deployment process, an email is sent to notify a tester through an SMTP service.
11. A system for continuous deployment based on multiple Jenkins, comprising:
a memory and a processor; wherein,
the memory stores instructions;
the processor is configured to perform the following steps in accordance with the instructions:
respectively building a Jenkins platform for a test environment, a quasi-production environment and a production environment;
configuring authentication relations among Jenkins platforms of all environments, and establishing a remote triggering mechanism between the Jenkins platforms of the test environment and the quasi-production environment, and between the quasi-production environment and the production environment; and
and when the code is changed, continuously deploying the software after the code is changed among the environments.
CN201610394227.8A 2016-06-03 2016-06-03 Method and system for continuous deployment based on multiple Jenkins Active CN107463362B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610394227.8A CN107463362B (en) 2016-06-03 2016-06-03 Method and system for continuous deployment based on multiple Jenkins

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610394227.8A CN107463362B (en) 2016-06-03 2016-06-03 Method and system for continuous deployment based on multiple Jenkins

Publications (2)

Publication Number Publication Date
CN107463362A true CN107463362A (en) 2017-12-12
CN107463362B CN107463362B (en) 2021-08-03

Family

ID=60544487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610394227.8A Active CN107463362B (en) 2016-06-03 2016-06-03 Method and system for continuous deployment based on multiple Jenkins

Country Status (1)

Country Link
CN (1) CN107463362B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958721A (en) * 2018-07-09 2018-12-07 中国科学院软件研究所 A kind of intelligence continuous integrating with persistently dispose pipelining technique and system
CN109343878A (en) * 2018-09-19 2019-02-15 北京英视睿达科技有限公司 A kind of code dispositions method
CN109408065A (en) * 2018-10-12 2019-03-01 上海庆科信息技术有限公司 A kind of code publishing tool
CN109597644A (en) * 2018-12-05 2019-04-09 江苏风云科技服务有限公司 Project dispositions method and device
CN109710262A (en) * 2018-12-12 2019-05-03 深圳市多元世纪信息技术股份有限公司 Software distribution method and device, computer readable storage medium
CN109739539A (en) * 2018-12-27 2019-05-10 深圳前海微众银行股份有限公司 Application dissemination method, device, equipment and the storage medium of Cross-environment
CN109814901A (en) * 2018-12-29 2019-05-28 中兴智能交通股份有限公司 A kind of O&M method that automatically dispose application may be implemented
CN109947458A (en) * 2019-03-22 2019-06-28 广东电网有限责任公司 A kind of offline source code security continuous integrating method
CN110941446A (en) * 2019-11-06 2020-03-31 苏宁云计算有限公司 Version release method and device based on multi-environment offline task
CN110990261A (en) * 2019-11-08 2020-04-10 苏州浪潮智能科技有限公司 Test management system, method and platform
CN112148311A (en) * 2020-08-21 2020-12-29 成都飞机工业(集团)有限责任公司 Jenkins-based distributed application program automatic deployment method
CN112540771A (en) * 2019-12-02 2021-03-23 北京首都在线科技股份有限公司 Automated operation and maintenance method, system, equipment and computer readable storage medium
CN112596777A (en) * 2020-12-14 2021-04-02 中国建设银行股份有限公司 Method, device, equipment and computer readable medium for processing data
CN113032049A (en) * 2021-04-13 2021-06-25 北京华胜天成科技股份有限公司 Application system deployment method and device based on task starting strategy and electronic equipment
CN113031960A (en) * 2021-03-18 2021-06-25 北京达佳互联信息技术有限公司 Code compiling method, device, server and storage medium
CN113760302A (en) * 2021-09-09 2021-12-07 四川虹美智能科技有限公司 Jenkins-based UI package deployment method and system
CN113868114A (en) * 2021-08-18 2021-12-31 浙江众合科技股份有限公司 Method, equipment and storage medium for automatically deploying and testing track signal system environment
CN114328275A (en) * 2022-03-10 2022-04-12 太平金融科技服务(上海)有限公司深圳分公司 System testing method, device, computer equipment and storage medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021443B1 (en) * 2013-04-12 2015-04-28 Google Inc. Test automation API for host devices
CN103412820B (en) * 2013-08-30 2016-02-24 曙光信息产业(北京)有限公司 The method of testing of the page in Web system and device
CN105138386A (en) * 2015-08-26 2015-12-09 浪潮集团有限公司 Logic design verification continuous integration platform based on Jenkins and vManager
CN105095089A (en) * 2015-09-14 2015-11-25 北京金山安全软件有限公司 Method and device for testing performance of application software
CN105446878B (en) * 2015-11-09 2018-03-09 上海爱数信息技术股份有限公司 A kind of lasting programming automation method of testing
CN105320599A (en) * 2015-11-26 2016-02-10 上海斐讯数据通信技术有限公司 System and method for web automatic tests
CN105468378B (en) * 2015-12-11 2019-02-22 上海爱数信息技术股份有限公司 A kind of software continuous integrated configuration management method and system
CN105553733A (en) * 2015-12-23 2016-05-04 北京安托软件技术有限公司 Resource monitoring and management system
CN105608012A (en) * 2016-03-10 2016-05-25 武汉斗鱼网络科技有限公司 Automatic test method and automatic test system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
阮一峰: "什么是持续集成?持续交付?持续部署?", 《阿里云开发者社区》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958721B (en) * 2018-07-09 2020-10-30 中国科学院软件研究所 Intelligent continuous integration and continuous deployment pipeline method and system
CN108958721A (en) * 2018-07-09 2018-12-07 中国科学院软件研究所 A kind of intelligence continuous integrating with persistently dispose pipelining technique and system
CN109343878A (en) * 2018-09-19 2019-02-15 北京英视睿达科技有限公司 A kind of code dispositions method
CN109408065A (en) * 2018-10-12 2019-03-01 上海庆科信息技术有限公司 A kind of code publishing tool
CN109597644A (en) * 2018-12-05 2019-04-09 江苏风云科技服务有限公司 Project dispositions method and device
CN109710262A (en) * 2018-12-12 2019-05-03 深圳市多元世纪信息技术股份有限公司 Software distribution method and device, computer readable storage medium
CN109739539A (en) * 2018-12-27 2019-05-10 深圳前海微众银行股份有限公司 Application dissemination method, device, equipment and the storage medium of Cross-environment
CN109739539B (en) * 2018-12-27 2021-10-19 深圳前海微众银行股份有限公司 Cross-environment application release method, device, equipment and storage medium
CN109814901A (en) * 2018-12-29 2019-05-28 中兴智能交通股份有限公司 A kind of O&M method that automatically dispose application may be implemented
CN109947458A (en) * 2019-03-22 2019-06-28 广东电网有限责任公司 A kind of offline source code security continuous integrating method
CN110941446A (en) * 2019-11-06 2020-03-31 苏宁云计算有限公司 Version release method and device based on multi-environment offline task
CN110990261A (en) * 2019-11-08 2020-04-10 苏州浪潮智能科技有限公司 Test management system, method and platform
CN112540771A (en) * 2019-12-02 2021-03-23 北京首都在线科技股份有限公司 Automated operation and maintenance method, system, equipment and computer readable storage medium
CN112148311A (en) * 2020-08-21 2020-12-29 成都飞机工业(集团)有限责任公司 Jenkins-based distributed application program automatic deployment method
CN112596777A (en) * 2020-12-14 2021-04-02 中国建设银行股份有限公司 Method, device, equipment and computer readable medium for processing data
CN113031960A (en) * 2021-03-18 2021-06-25 北京达佳互联信息技术有限公司 Code compiling method, device, server and storage medium
CN113031960B (en) * 2021-03-18 2024-04-30 北京达佳互联信息技术有限公司 Code compiling method, device, server and storage medium
CN113032049A (en) * 2021-04-13 2021-06-25 北京华胜天成科技股份有限公司 Application system deployment method and device based on task starting strategy and electronic equipment
CN113032049B (en) * 2021-04-13 2024-06-11 北京华胜天成科技股份有限公司 Application system deployment method and device based on task starting strategy and electronic equipment
CN113868114A (en) * 2021-08-18 2021-12-31 浙江众合科技股份有限公司 Method, equipment and storage medium for automatically deploying and testing track signal system environment
CN113760302A (en) * 2021-09-09 2021-12-07 四川虹美智能科技有限公司 Jenkins-based UI package deployment method and system
CN113760302B (en) * 2021-09-09 2023-04-07 四川虹美智能科技有限公司 Jenkins-based UI package deployment method and system
CN114328275A (en) * 2022-03-10 2022-04-12 太平金融科技服务(上海)有限公司深圳分公司 System testing method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN107463362B (en) 2021-08-03

Similar Documents

Publication Publication Date Title
CN107463362B (en) Method and system for continuous deployment based on multiple Jenkins
US9940225B2 (en) Automated error checking system for a software application and method therefor
CN109302522B (en) Test method, test device, computer system, and computer medium
WO2020140820A1 (en) Software testing method, system, apparatus, device, medium, and computer program product
US8745585B2 (en) Meta-data for single development test environment
US8533676B2 (en) Single development test environment
US20130174124A1 (en) Version numbering in single development and test environment
CN111897566A (en) Software development continuous integration method, device, equipment and medium
CN109753430B (en) Interface test method of ground data processing system
AU2012201749B2 (en) Single development test environment
CN111651352B (en) Warehouse code merging method and device
CN110659198A (en) Application program test case execution method and device and software test system
CN112596784B (en) Iterative version deployment method and device
CN107480050B (en) Test method for automatically testing update package
CN114995835A (en) Application automation deployment method, system, equipment and readable storage medium
Lei et al. Performance and scalability testing strategy based on kubemark
US10248402B2 (en) Automated code deployment system
CN107203471B (en) Joint debugging method, service platform and computer storage medium
CN112527312A (en) Test method and test device for embedded system
CN112749087A (en) Test service platform, electronic equipment and test service method
US20220066917A1 (en) Candidate program release evaluation
EP2503450A2 (en) Version numbering in single development and test environment
CN111078524A (en) Continuous integration test method based on electric power 6+1 system
CN115102879B (en) Test method of shared service platform, electronic equipment and storage medium
Prabhu et al. Automation in testing with Jenkins for software development

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