A team is defining their delivery practices and wants to name the practice where developers merge their code changes into a shared mainline frequently, and each merge automatically triggers a build and an automated test run. Which practice does this describe?
- AContinuous deployment, where every change that passes automated tests is released straight to production without any human approval step.
- BContinuous integration, where changes are merged into a shared mainline often and each merge triggers an automated build and test run. Correct
- CImmutable artefact building, where each commit is packaged into a container image tagged with a unique digest for later promotion.
- DGitOps reconciliation, where a controller continuously syncs the cluster's live state to the manifests stored in a Git repository.
Why A is wrong: Tempting because it also relies on automated tests running on each change, but continuous deployment is about automatically releasing to production, not about the frequent merge-and-verify loop being described.
Why B is correct: Correct: continuous integration is precisely the practice of integrating work into a shared branch frequently and validating each integration with an automated build and test, catching conflicts and regressions early.
Why C is wrong: Tempting because building an image is often part of the same pipeline, but producing an immutable artefact is one step, not the overall practice of frequent merging plus automated build and test.
Why D is wrong: Tempting because it also centres on Git, but GitOps describes how declared state is applied to a cluster on the delivery side, not the frequent merge-and-test loop that defines integration.