Continuous Integration Overview

1. What is continuous integration

As the complexity of software development continues to increase, how to better work together among team development members to ensure the quality of software development has gradually become an unavoidable problem in the development process. Especially in recent years, Agile has become more and more prosperous in the field of software engineering, and how to quickly adapt to and ensure the quality of software in the changing requirements is also particularly important.

Continuous integration is a software development practice that addresses this type of problem. It advocates that team development members must integrate their work frequently, even multiple integrations per day. And each integration is verified through automated builds, including automatic compilation, release, and testing, so integration errors are discovered as quickly as possible, allowing teams to develop cohesive software faster.

The core values ​​of continuous integration are:

Any link in continuous integration is automatically completed without too much manual intervention, which is conducive to reducing repetitive processes to save time, cost and workload;

Continuous integration ensures that the code submitted by team members at each point in time can be successfully integrated. In other words, software integration problems can be discovered at any point in time, making it possible to release deployable software at any time;

Continuous integration can also benefit the development trend of the software itself, which is especially important in the context of unclear requirements or frequent changes. The quality of continuous integration can help the team to make effective decisions and build the team's confidence in the development of the product.

principles of continuous integration

The principles of continuous integration generally accepted by the industry include:

1) Code submitted by members of the software assurance team that requires version control will not cause the integration to fail. Common version control software includes IBM Rational ClearCase, CVS, Subversion, etc.;

2) Developers must submit code to the version control library in a timely manner, and must frequently update the code from the version control library to the local;

3) A dedicated integration server is required to perform integration builds. According to the specific reality of the project, the integrated build can be directly triggered by software modification, or it can be started regularly, such as every half hour;

4) The success of the build must be guaranteed. If the build fails, fixing errors in the build process is the highest priority job. Once fixed, a build needs to be started manually.

Components of a continuous integration system

Thus, a complete build system must include:

An automated build process that includes automatic compilation, distribution, deployment, and testing.

A code repository, that is, version control software is needed to ensure code maintainability, as well as a repository for the build process.

A continuous integration server. Jenkins introduced in this article is a continuous integration server that is simple to configure and easy to use.



 



 

 

2. Introduction to Jenkins

Jenkins is an open source project that provides an easy-to-use continuous integration system that frees developers from complicated integration and focuses on more important business logic implementations. At the same time, Jenkins can monitor the errors existing in the integration, provide detailed log files and reminder functions, and visualize the trend and stability of project construction in the form of charts.

 

3. Jenkins function

Jenkins is a continuous integration tool developed based on Java for monitoring continuous repetitive work. The functions include:

1. Continuous software version release/test project.

2. Monitor the work performed by external calls.

 



 

 

4. Jenkins features

Continuous Integration and Continuous Delivery

As an extensible automation server, Jenkins can be used as a simple CI server or turned into the continuous delivery hub for any project.

 

Easy installation

Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Mac OS X and other Unix-like operating systems.

 

Easy configuration

Jenkins can be easily set up and configured via its web interface, which includes on-the-fly error checks and built-in help.

 

Plugins

With hundreds of plugins in the Update Center, Jenkins integrates with practically every tool in the continuous integration and continuous delivery toolchain.

 

Extensible

Jenkins can be extended via its plugin architecture, providing nearly infinite possibilities for what Jenkins can do.

 

Distributed

Jenkins can easily distribute work across multiple machines, helping drive builds, tests and deployments across multiple platforms faster.

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326922672&siteId=291194637