DEVOPS technical practices _13: Jenkins continued use of basic transmission design -CD

1. branching strategy

Continuous integration used in the branching strategy includes the following three:

  • The master branch
  • The integration branch
  • The feature branch

The CD can be performed only on the Integration of the release branch.

2. Release branches

Some teams employ strategies publishing branch. release all the code branch is created after verification through in a production environment. Pulled from the master is taken above. The purpose is to create a branch release a bug fix on the corresponding version.

 

3. CD pipes

Here, you will not create a new pipeline; instead we use to create CI before the multi-branch piping. Create a new pipeline should have the following steps

  1. Version of the controller from the code pulls
  2. Build and unit test code, unit test reports to publish Jenkins.
  3. Perform static code analysis, and the results uploaded to SonarQube. If the number of errors exceeds the threshold SonarQubea quality door set, it will cause the pipe to fail.
  4. Integration testing, unit testing and publish reports to Jenkins.
  5. Upload construct made good artifacts to Artifactory, and artifacts additional attributes.
  6. Binary deploy to a test environment
  7. Perform tests (quality analysis)
  8. Improve solutions Artifcatory, it is marked as a candidate version.

The purpose of the previous CD Pipeline is the continued deployment, testing (QA), and upgrading binary repository artifacts (such as the previous just build binaries, you can now take it as a candidate, it is not what the problem may be released). And perform reporting on the success or failure of each step.

In the real situation, QA may contain a plurality of test stages, such as performance testing, user acceptance testing, assembly testing. Here we only execute performance tests

Experiment 4. CD will be used CD set of tools

Tool/Technology Description
Java Primary programming language used for coding
Maven Build tool
Junit Unit test and integration test tools
Jenkins CI tool
GitHub VCS
SonarQube Static code analysis tool
Artifactory Binary repository mananger
Apache Tomcat Application server to host solution
Apache JMeter Performance testing tool

Guess you like

Origin www.cnblogs.com/zyxnhr/p/11783631.html