What is continuous integration
With the increasing complexity of software development, how to work well together among team members to ensure the quality of software development has gradually become an unavoidable problem in the development process. Especially in recent years, agile is becoming more and more prosperous in the field of software engineering, and how to adapt and guarantee the quality of software in the changing demand is especially important.
Continuous integration is a software development practice for this kind of problem. It advocates that team development members must often integrate their work, and even multiple integrations can occur on a daily basis. Each integration is validated through automated builds, including automated compilation, publishing, and testing, to quickly identify integration errors and enable teams to develop cohesive software faster.
The core value of continuous integration is:
- Any part of continuous integration is done automatically, without too much manual intervention, to reduce the duplication process to save time, expense and workload;
- Continuous integration ensures that the code submitted by team members at each point in time can be successfully integrated. In other words, at any point in time can find the first time the integration of software issues, so that the release of deployable software at any time becomes possible;
- Continuous integration also facilitates the development of the software itself, which is particularly important in scenarios where demand is unclear or frequently changed, and the quality of continuous integration helps teams make effective decisions while building team confidence in developing products.
Principles of Continuous integration
The principles of continuous integration, which are universally recognized by the industry, include:
1) requires version control software to ensure that the code submitted by team members does not cause integration to fail. The commonly used version control software is IBM Rational ClearCase, CVS, Subversion and so on;
2) developers must submit their code to the version control repository in a timely manner, and must update the code from the version control repository regularly to the local;
3) A dedicated integration server is required to perform the integration build. Depending on the actual project, the integration build can be triggered directly by the modification of the software, or it can be started on a regular basis, such as every half hour.
4) The success of the build must be ensured. If the build fails, fixing the errors in the build process is the highest priority work. Once repaired, you need to start the build manually.
Components of a continuous integration system
Thus, a complete build system must include:
- An automated build process that includes automated compilation, distribution, deployment, and testing.
- A code repository that requires version control software to guarantee the maintainability of the Code and as a repository for the build process.
- A continuous Integration server.
Jenkins was developed by Sun's former employees and is rooted in Java, but can also be used in non-Java projects such as PHP, Ruby on Rails,. NET. In. NET projects, you are familiar with another tool in addition to Jenkins: MSBuild. Visual Studio builds. NET projects with MSBuild. What MSBuild needs is just a script that specifies the target to execute in the script. Both the . csproj and . vbproj files in the project are MSBuild scripts. The following articles describe how to use Jenkins to quickly build a continuous integration server.
Build a continuous integration environment with MSBuild and Jenkins (1)
Build a continuous integration environment with MSBuild and Jenkins (2)
Create a Mono C # buildserver using Jenkins and GitHub
Transferred from: http://www.cnblogs.com/shanyou/p/3750714.html
Quickly build a continuous integration environment based on Jenkins