DEV Community

Discussion on: Explain CI/CD like I'm five.

Collapse
 
derek profile image
derek • Edited

CI == Automating the running of code, tests, and or builds on a separate machine

( 𝝀,βœ…,πŸ”¨) πŸ”œπŸ’»πŸ”œπŸ‘ŒπŸΎ

Good CI will prevent πŸ‘‡πŸ½

Jackie

CD == Automating the deployment of code to a server

𝝀 πŸ”œπŸ’»

Good CD will prevent πŸ‘‡πŸ½

Nope

It's important to note that Continuous Delivery and Continuous Deployment are not the same thing. The two get conflated and sometimes used wrong interchangeably. Continuous Deployment specifically means deploying straight to production.

When CI/CD is put into practice it creates automation. When automation works as it is intended, it's magical.

Collapse
 
quii profile image
Chris James

No it isn't.

CI is "continuous integration". Where your team "continuously integrates" their code so everyone is working with as similar version of the code as possible.

Collapse
 
derek profile image
derek • Edited

Indeed. But I was speaking in the context of process and implementation versus the definition of the term.

Typically we’re asked to implement it, or how we’d implement it.

All with the idea of being able to integrate code more efficiently and effectively with the emphasis of β€œcontinuous”. Otherwise it would be more intermittent due to the β€œit works on my machine”.

Collapse
 
ogrotten profile image
ogrotten

What are your emoji supposed to mean?

Collapse
 
derek profile image
derek
  • Lambda emoji represents code
  • Check represents tests pass
  • hammer represents build
  • computer represents a machine
  • arrow represents direction over time