--- title: CI !== CI Pipeline date: 2024-07-02 permalink: daily/2024/07/02/ci-not-ci-pipeline tags: - software-development - git cta: ~ snippet: | Continuous integration is not the same as a CI pipeline. --- Yesterday I replied to [a post on X](https://x.com/ianmiell/status/1304103008242991111): > I have worked on many teams that use CI tooling and call their process CI, but I have never seen CI actually done as defined on Wikipedia: > > "CI is the practice of merging all developers' working copies to a shared mainline several times a day" [I've written about this before][0] and I think the term CI or CI/CD is one of the most misused or misleading in software development. CI, or continuous integration, is, as the post days, the process of everyone merging their changes at least once, or usually several, times a day. It isn't something that is configured or created - it's a process. ## Here's the thing You can do CI without a CI pipeline and vice versa. You can have a CI pipeline but not do continuous delivery or deployment. What most people think of as CI or CI/CD is a set of automated checks that run when code is updated - usually on a feature or topic branch. Whilst important, it's not "CI". [0]: {{site.url}}/blog/continuous-integration-vs-continuous-integration