A, CI / CD processes and continuous delivery Introduction
CI (Continuous Integration) continuous integration
CD (Continuous Deployment) Continuous Deployment
CD (Continuous delivery) continuous delivery
Continuous Integration is a software development practice, that members of the development team integrate their work frequently, usually each member at least once integrated, which means integration may occur several times a day every day. Each integration automated build (including the compilation, publishing, automated testing) to verify that all through, so find integration errors as early as possible. Continuous integration of e-mail may refer to the article https://www.jianshu.com/p/325f447e7881 .
· This article presents a solution to CI / CD's, as will be explained based on the flow of the pipeline continuous integration of such programs. Use to open source components as follows:
1, git code repository
2, gerrit code review
3, sonarqube code quality checks
4, jenkins automation tools
5, sonatype nexus maven private library
6, rundeck automation tools
7, dashboard Issue Tracking
Second, the architecture diagram and process description
According to Chart a brief overview of several stages:
First, commit phase
1, developers submit code to the git repository.
2, developers use sonarqube code quality check and fix the code according to test results.
3, testers jenkins construct the code and unit test code QA.
3, operation and maintenance personnel to use the code jenkins build and publish packages to the test environment.
Second, the testing phase
1, testers use jenkins integration testing
2, the use of testers for capacity testing jenkins
Third, the release phase
1, operation and maintenance personnel will use jenkins released into the production environment through the master branch of the pack test