Linux Learning: Continuous Integration--Introduction-01

Source: Internet
Author: User
Tags version control system sonatype nexus

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.