Our Newsletter

Continuous Integration

Development of a new software product takes place over a significant period of time and very often there is more than one developer working on different elements of the same product. Each developer has to integrate all the newly written code into the existing or source code and make sure that the different elements all work as well when combined as they work in isolation. In the past this build would have been carried out at the end of the day or even at the end of the software development phase.

Continuous Integration describes the practice where the building and testing is carried out at more frequent intervals, for example every 15 minutes. This has many advantages:

  • problems are highlighted more quickly and any actual bugs can be easily identified since there has only been a small change made to the main code.
  • the developer who made those changes has the work fresh in their mind, making the correction of bugs much easier.
  • developers can start work on a new task feeling confident that the existing code is stable and functional.
  • it is easier to predict when a project will be complete, as there will not be a potentially lengthy “test-bug fix-test” phase at the end of the software development phase
  • it is possible to roll-out incremental changes in the product to the end user.

A continuous integration server can help in the CI process. This server will automatically build the software each time a developer adds new code. It will then test the built software and notify the developers of the outcome of the test.

Developers often use a traffic light system to show the state of the latest build: green means the build was successful; amber indicating that a new build is being tested; and red meaning it has failed and the last developer to upload a change then has the responsibility of finding and fixing the bug

Agile Hardware has developed the CINbox to help you with your Continuous Integration