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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000002045 lasting effect Effects 0.000 title abstract 3
- 238000004519 manufacturing process Methods 0.000 claims abstract description 146
- 238000012360 testing method Methods 0.000 claims abstract description 145
- 230000007246 mechanism Effects 0.000 claims abstract description 32
- 230000008859 change Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 35
- 230000001960 triggered effect Effects 0.000 claims description 18
- 230000002085 persistent effect Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000010354 integration Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version 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
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.
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)
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)
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 |
-
2016
- 2016-06-03 CN CN201610394227.8A patent/CN107463362B/en active Active
Non-Patent Citations (1)
Title |
---|
阮一峰: "什么是持续集成?持续交付?持续部署?", 《阿里云开发者社区》 * |
Cited By (23)
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 |