Tim Beattie

Co-Authors: Ryan DeBeasi Matt Takane Donal Spring

Continuous Integration

Automated code merge and build upon a team member's contribution

foundation-technical loop position

No. People

1+

Time

Minutes

Difficulty

moderate

Participants

Team Members

What is it?

With Continuous Integration (CI), developers submit small, frequent changes instead of large, infrequent changes. When another developer accepts the changes, automated tests and build steps run to ensure that the code works as expected. This action is completed frequently, many times a day with automation running each time thus insuring the code base can Continuously Integrate

The tests and build steps are typically run in an automation server such as Jenkins or Travis.

Why use it?

  • Automated testing reduces busy work and improves software quality.
  • Small, regular code commits reduce the number of integration problems.
  • Rapid feedback loops make it easier for new contributors to get started.
  • It’s fun! Shipping of functional software in small increments is more enjoyable than waiting for someone to manually test a giant code change.

Useful links

  • Jenkins Documentation - Jenkins is an extensible automation server. He can be used as a simple CI server or turned into the continuous delivery hub for any project
Improve this practice
View all practices