Continuous Integration

Automation Consultants can help you set up or optimise continuous integration within your software development teams, using whichever tools fit your needs best.

Continuous integration (CI), often done with continuous deployment (CD), is process of building and deploying software automatically with each change committed by one of the developers to the source repository.

Leading tools include

The CI tool stores the scripts needed to compile, build and deploy the software under development. If automated tests exist, the CI tool can also trigger these tests.  The CI tool monitors the source code repository in real time and whenever a change is committed to the repository, it builds the software, deploys it to one or more environments, and (if configured) triggers a suite of automated tests on the newly deployed build. The results of the tests are transmitted automatically to the desire project stakeholders.

CI is far more efficient than previous techniques. Before CI, to build the software, a developer would have to invoke one or more build scripts manually; copy the resultant executables to one or more other servers in other environments; copy any updated resource files to the new environments; and restart any necessary server side programs. The process was error-prone and could take up to  several hours. If the deployed software did not start correctly, there would be uncertainty as to whether a bug had been introduced during the latest changes, or whether an error had been made in the deployment. Only after an apparently correct build and deployment could any testing take place.

The long build and deployment process caused builds to be undertaken much less frequently. Testing was therefore much less frequent, and bugs would take longer to be discovered. This made it considerably slower to develop software, and harder to keep quality up.

CI/CD goes hand in hand with agile development. One of the principles of Agile is to deliver working code as early and as frequently as possible. CI/CD facilitates this. CI/CD is a pillar of modern development, and more mature teams include automated tests as part of the process.

Whatever your requirements, Automation Consultants can advise you on setting up or optimising your CI/CD and thus improving quality and time-to-market for your software development.

CI/CD case study – Sky IQ