When you say CI (continuous integration) in software engineering, this refers to the practice of merging the entire working copies that can be shared mainline in several times per day. The main aim of continuous integration is to prevent the integration problems from arising. Therefore, it is important to identify between two because there is disagreement about virtues.
In 1994, Grady Booch used CI (continuous integration) in Object-Oriented Analysis and Design with Application (2nd edition), wherein it explained how and when the evolving using of micro processes, such as existing of force closure in micro process and the internal that releases and represent sort of continuous integration of system.
In 1997, Ron Jeffries and Kent Beck invented the XP (Extreme Programming) in the Chrysler Comprehensive Compensation System project including the continuous integration. Kent Beck published the continuous integration in the year 1998 wherein it emphasizes the importance of personal communication over the technological support. During 1999, Kent Beck expounded his first full boo in Extreme Programing and it is released in 2001.
What is it?
CI (Continuous Integration) is the development practice that needs a developer in order to assimilate the code into shared repository for several times. Every check-in will be verified by automated build wherein it allows the team to identify problem immediately. By assimilating regularly, it can help you to detect errors as well as locate it easily.
Since you are integrating frequently, there is important backtracking that you can discover when there are something going wrong. With that, you are able to spend a lot of time in building its features. Aside from that, CI is cheap unlike with non-continuously integrating. If you did not follow the continuous approach, you can have the longer periods between the integration. With that, it makes the exponentially more problematic and has a consistent problem. With the integration problems, it can be cause of a project-off schedule and fail it altogether.
CI brings numerous benefits to your company such as:
- Say Goodbye for a tense and long integrations
- It can increase the visibility wherein it enables a greater communication
- Identify the issues immediately and more time in adding features
- It can reduce an integration problems that allows to deliver software rapidly
Continuous integration has it several important practices such as:
- Developers check the code
- Once it is done, the changes will apply on repository
- CI server will monitor its repository and check the changes
- Then, server will build its system, run unit and have an integration tests.
- Once the test successful, they will inform the team
- Once there is problem, the team will immediately fix the issue immediately
- It will continue to integrate and test all over the test
Risks and Pitfalls
CI serves as safety net in order to have a faster change in a code. However, this method has it risks such as:
- Once the single test fails, the entire build process will be failed.
- The programmers have their affiliation with code
- What does the test that cannot see can escaped
Just like with other thing, CI has its also pitfalls that you need to prevent in order to avoid from possible problems and difficulties.
— Slimane Zouggari