Fall seven times, stand up eight times
Achieve Continuous Integration by setting up a CI server after you have version control, build automation, and automated tests in place.
Keep track of the build time and test time.
This improves the development process because it relieves developers of building the system and it shortens the feedback loop of issues.
The term continuous in Continuous Integration (CI) says it all: continuously integrate (merge) code. CI puts into practice the idea that code integration and building should be done as often as possible. The integration happens at each commit to a CI server that merges the commit into a central repository. Fortunately, most CI servers do more: after each commit, they perform a clean checkout of the branch that was changed, build it, and perform the supplied tests (unit, integration, and regression tests). Running automated tests is not “required” in order to be called CI, but why would you not? Using a CI server is a great opportunity to have your tests run automatically. You can even automate further and run additional scripts after successful builds, to achieve automated deployment. The latter is a topic for Chapter 8.
Continuous Integration speeds up development because it is fast, has short feedback cycles, and is more reliable than manual integration. Thereby it allows for further automation steps such as “continuous delivery.”