Introduction to Continuous Integration


In agile development, there is a very important practice called continuous integration. And what is continuous integration? In simple terms, continuous integration is the frequent, continuous integration of the work of multiple team members and feedback. A typical continuous integration cycle includes the following steps:

 

a.       The continuous integration server constantly checks the code status from the version control server to see if the code has been updated.

b.      If the code is found to have the latest commit, then download the latest code from the version control server.

c.       After the code is completely updated, call the automated compilation script to compile the code.

d.      Run all automated tests.

e.       Perform code analysis.

f.        Generate executable software that can be provided to testers for testing.

 

For Java -based projects, there are several common options:

1)      Cruise Control - Open source, built around Ant . Commonly used, but users often report that it is difficult to configure and needs to write configuration files. Cruise Control is also known as the "original" CI tool for Java .

2)      Apache Continuum - Open source, used to build Java projects. Since it is the official Maven build tool, it tends to provide the best support and experience for Maven -based projects. Its management and configuration is carried out through a web -based interface.

3)      JetBrains Team City - a commonly used commercial CI server. A unique feature of Team City is that it has corresponding plugins for several IDEs that allow developers to make "pre-test" commits when committing their changes to the version control system - using this feature means that developers do not have to Possibly "interrupting the build of the program". Its management and configuration is carried out through a web -based interface.

4)      Hudson/Jenkins - open source, originally only supported CVS and Subversion , but now has many plugins to support other version control systems. Its management and configuration is carried out through a web -based interface.

The tool we use is Hudson/Jenkins .

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326527088&siteId=291194637