I used to think GitHub Actions, GitLab CI, Jenkins, CircleCI and TeamCity were basically the same thing with different YAML syntax. They're not.
The bigger distinction is:
Code hosting ≠ CI/CD ≠ workflow orchestration.
GitHub → GitHub Actions
GitLab → GitLab CI/CD
Bitbucket → Bitbucket Pipelines
Azure DevOps → Azure Pipelines
Gitea → Gitea Actions
Forgejo → Forgejo Actions
And then you have independent CI/CD/workflow platforms:
Jenkins
CircleCI
TeamCity
Argo Workflows
I put together a practical guide explaining:
→ what a code hosting platform actually does
→ what CI/CD adds
→ why companies sometimes use an external CI/CD platform
→ how Jenkins, CircleCI and TeamCity differ
→ why Argo is a different category
→ the pipeline/configuration file for each platform
→ which tools are worth learning as a developer
The goal isn't to memorize 10 YAML syntaxes.
It's to understand the architecture behind them.
Learn the concepts first. Choose the platform second.
This article was originally published by DEV Community and written by TAHER El Mehdi.
Read original article on DEV Community