Glossary · Automation software engineering and architecture
Continuous integration (CI)
Also known as: CI
German: Kontinuierliche Integration (CI)
In software engineering, continuous integration (CI) is the practice of merging developers' changes into a shared main line frequently, at least daily, with each merge triggering an automated build and test run so integration problems are detected early.
- Software engineering
In one sentence
Continuous integration merges changes into a shared main line frequently, with each merge triggering an automated build and tests.
Example
Each pull request to the PLC library repository triggers a CI run that compiles the project, runs static checks and executes unit tests on a virtual controller.
How it applies
- Engineering: CI reduces the pain of integrating large changes late in a project. For automation software, it requires engineering tools with command-line or scripting interfaces, virtual controllers or simulation, and project formats that work with version control.
- Quality: A broken build is fixed first. Fast feedback only helps if the team reacts to it; a pipeline that is always red provides no information.
- Documentation: CI runs produce a history of builds, test results and analysis reports per change, which supports verification evidence and audits. Documentation built from sources in the same repository can be checked in CI too, for example for broken links, missing topics or outdated parameter lists.
Continuous integration vs. continuous delivery
CI ends when a change is built, tested and merged. Continuous delivery (CD) continues from there and keeps the result ready for release. CI is the foundation; without it, delivery automation has nothing reliable to deliver.