Concept and mechanism
Continuous integration combines frequent changes with automated feedback on shared code. A nightly build does not independently resolve weeks of divergence between branches. Value appears when conflicts, compilation failures, and relevant test failures are discovered close to the change introducing them. Continuous delivery prepares an evaluated artifact for release while retaining an explicit production decision where the process requires it. In continuous deployment, changes meeting criteria can proceed automatically. Automatic does not mean uncontrolled: it means part of the decision has been expressed as verifiable conditions. None of these models guarantees defect-free software or replaces observation after deployment.
Guided application
In a fictional APS example, the pipeline aims to reduce differences between tested and deployed packages and provide useful evidence to support. Define inputs, stages, outputs, criteria, and owners. A stage named Test that only prints a message does not run tests. The pipeline should produce reports associated with the correct revision and artifact. Keep configuration versioned and reviewed like application code. A Jenkinsfile is one example of pipeline as code; other products use their own syntax. Avoid unrelated manual configuration in every project when a reviewed shared component can provide consistency. Updates to that component also need scope, testing, and a recovery path.
A green stage named Test may have executed only echo without evaluating the application.
Common pitfalls
Nightly build as frequent integration; stage name as evidence; automation as absence of decision.
Related topics: Jobs and dependencies · Artifacts and evidence · Tests and decisions
Connect each stage to a verifiable output and a software decision.
Reference: Frequent integration and automated build/test feedback · CI/CD practices 2026-09; scoped GitHub Actions GitLab Jenkins and Azure DevOps Services documentation