Comment by gchamonlive
17 hours ago
Would also like a write-up. People assume it's just because of GitHub outages, but GitHub is slightly worse in every aspect, so for big projects and organisations it compounds to being quite messy to manage and operate.
GitLab is thought-out to support larger groups with more complex pipelines, and while it's got it's own set of quirks, it doesn't begin to compare, GitHub in contrast seems like a toy forge for toy projects.
Having used GitLab pipelines, I would definitely not describe it as well thought out. Their method of forcing all jobs/pipelines for a repo through one file controlled with a load of ‘if’ rules is a complete mess. Makes running multiple pipelines for one repo a huge PITA. Compared to GitHub Actions or Jenkins its a pretty poor experience
This only happens on poorly thought pipelines and GitHub actions model or Jenkins high level directives won't make up for it. Eventually it'll break.
In Gitlab you can use the main file for describing high level stage pathways (tests, builds, deployments...) and offload individual control of jobs to granular files. Tests can be self contained child pipelines. Templates make them easy to replicate and components give them more flexibility.
You can do a lot more than GitHub actions with a lot less complexity than Jenkins.