1, Continuous Integration Introduction
Continuous integration is a software development practice
Team development members often integrate their work, and each integration is validated through automated builds (including automated compilation, testing, publishing) to quickly identify integration errors
The values, elements, and principles of continuous integration
Principle
1. All developers need to build locally on the local machine and then submit the version control repository to ensure that their changes do not cause continuous integration failure.
2. The developer submits code to the version control repository at least once a day.
3. Developers need at least one update of the code from the version control library every day to the local machine.
4. There is a need for a dedicated integration server to perform the integration build, multiple builds per day.
5. Each build is 100% pass.
6. Each build can generate a product that can be released.
7. Repairing a failed build is the highest priority thing.
8. Testing is the future, the future is testing
value: Reduce risk, reduce repetitive processes, enhance project visibility, build team confidence in product development
Elements
1. A unified code base
2. Build automatically
3. Automated Testing
4. Each person submits code to the code base skeleton every day
5. Once each code is submitted, a build is triggered on the continuous integration server
6. Ensure fast Build
7. Automated testing of simulated production environments
8. Everyone can easily get the latest executable application
9. Everyone knows what's going on.
10. Automated Deployment
2, the composition of continuous integration management platform
The continuous Integration management platform is not only a CI server, but a combination of a series of software development management tools
Source version management: Subversion, Git
Project Builder Tools: Maven, Ant
Code Quality Management: Sonar (Checkstyle, PMD, FindBugs ...)
Continuous integration engine: Hudson, Jenkins, Apache Continuum
Application Continuous Deployment: Operating system, JDK, Tomcat, JBoss ...
The implementation of the continuous integration process to use the various other tools, a variety of plug-ins.
650) this.width=650; "src=" Https://s1.51cto.com/wyfs02/M01/8E/DA/wKiom1jM3Sjghxb6AACr6xiJra4078.png "title=" 1111. PNG "alt=" Wkiom1jm3sjghxb6aacr6xijra4078.png "/>
3. Practice description and Content
Hudson + Maven + Sonar + Subversion is used here
A, Subversion source version control system installation
Subversion + Apache + jsvnadmin
B. Installation and configuration of Maven private libraries and local libraries
Sonatype Nexus + Maven
C, sonar code quality control platform installation and use of the configuration
D, Hudson installation and configuration of the continuous integration engine
This article is from "I Love Big gold" blog, please be sure to keep this source http://1754966750.blog.51cto.com/7455444/1907893
Linux Learning: Continuous Integration--Introduction-01