spk-logo-tm-2023
0%
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

Understanding Continuous Integration

Continuous Integration (CI) is a software development methodology that uses small and frequent incremental changes to the code base, which are incorporated into a rapid build and test environment. Each change integrated into the source repository is verified by the automated build and test system which helps detect integration errors quickly.

Such an approach is quite different from the more traditional method where a developer works on their own copy of the code for a prolonged period of time and then finally commits the changes back to the main source repository. This commit then invokes an integration stage where the changes are folded into the software both at a build and system level. Finally, the new build is manually tested.

In practice the workflow for a developer is as follows:

  1. The developer fetches a copy of the current source code and adds the next piece of functionality. Using an automated build system, the code is compiled, linked, etc. before automated tests are run on the resulting binaries. This process is repeated until the functionality has been added.
  2. Once the developer has finished the task, a fresh copy of the mainline source code is fetched and any clashes with changes made by other developers are resolved. Again, the automated build and test system is used to check the buildability and functionality of the source.
  3. Finally, the source code is committed to the repository and a new build and test cycle is initiated. If this build and test cycle finishes successfully then the developer can move on to their next task.

In CI, the commits and integration of new or modified code become one of the channels of communication between developers. Each member of the team can see in which direction the others are heading by their frequent additions to the code base.

The automated build and test system is used at each step in the process, making it the cornerstone of CI. Without an efficient, reliable and quick build system, the practices behind CI grind to a halt. Since the emphasis is on frequent and continuous changes, the builds must be quick without leaving the developers feeling hindered or obstructed.

There are a variety of tools available to help developers create an automated build and test system including ElectricCommander. Since it is language independent and uses a web interface, it can be used with almost any development environment on almost any platform.

Its design allows for development teams to make use of Continuous Integration regardless of their physical location. It also has VMWare integration which means it can instantiate Virtual Machines and prepare them automatically for build, test or deployment tasks.

Latest White Papers

Rovo Product Guide: Key use cases across your organization

Rovo Product Guide: Key use cases across your organization

Gen-AI is making its way into nearly all of our tools, and the Atlassian toolkit is no exception. This eBook explores use cases for Atlassian’s AI agent, Rovo. What You Will Learn In this eBook, you will discover how Rovo can help: Engineers ITSM Teams Business...

Related Resources

Ascend to the Atlassian Cloud

Ascend to the Atlassian Cloud

The future of Atlassian is here!  Leap into the future with Atlassian cloud and unlock speed, scale, and AI-powered teamwork. Atlassian has announced the sunset of Data Center products by March 2029, marking a pivotal shift to a cloud-first future. From Data Center to...

GitHub Actions to GitLab CI Migration Checklist

GitHub Actions to GitLab CI Migration Checklist

As organizations look to simplify their DevOps toolchain, improve cost predictability, and strengthen security, many are making the shift from GitHub Actions to GitLab CI.  This eBook provides a step-by-step migration checklist to help engineering teams transition...

How and Why to Standardize Onto One CAD Platform

How and Why to Standardize Onto One CAD Platform

Many engineering teams rely on multiple CAD systems across teams. The issue withusing multiple CAD tools is that it can lead to delays and innefficiencies. This white paper explores the benefits of consolidating onto one CAD platform.What You Will Learn In this white...