36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
---
|
|
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
|