What a CI/CD really is (Continuous Integration / Continuous Deployment)

cicdDevops
What a CI/CD really is - Banner

CI/CD means automating the integration of new features and the deployment of applications.

Continuous Integration

Every time you add code, a fix or a feature, you run your tests. Done by hand, that gets tedious fast.

With a CI, you merge the changes and it handles that for you. It tells you when tests break, so you catch errors as early as possible.

Continuous Deployment

Without CD, deploying means: SSH in, update the repo, build, restart the app. Slow and repetitive.

With a CD, you push your changes and it's live.

CI and CD often work together: after integration, the changes go straight to production.

No magic

They're exactly the same manual steps, put into a configuration file.

Most platforms (GitHub Actions, GitLab CI, and so on) offer plugins to make it easier. For example, appleboy/ssh-action to connect over SSH from GitHub Actions.


If you want to see how I set up CI/CD for a Next.js application with Docker: https://github.com/heryTz/finance/blob/main/.github/workflows/deploy.yml