Ignoring all of the great social/community features like having pages for trending repos/developers and things of that nature that I check frequently, the Github Actions marketplace is a game changer. CircleCI has Orbs but there are so, so many fewer since the community is so much smaller. I'm not sure if Gitlab has anything similar yet.
With that said, I really need a CI system that has a maintenance mode button so I can do 250 failing builds fixing pipelines (I'm ops) and not spam everyone with emails from my specific branch..
edit: Well, I don't know how true it is but I asked chatgpt about maintenance mode and it definitely exists (supposedly) -- Yes, many Continuous Integration (CI) systems allow you to configure maintenance mode or similar settings to prevent notifications for certain branches or builds. This can be useful if you want to perform maintenance on a branch or temporarily disable a build without triggering unnecessary notifications.
edit: It also says CircleCI has one.. so.. I will dig around, sorry to CircleCI if I was totally wrong initally.
Gitlab has a templating system for pipelines and comes with an extensive collections of templates builtin, which they call 'Auto DevOps'. You can use the same templating engine to create building blocks for pipelines in your org, or open source them to share with the community.
However, I don't think there's a default distribution of common templates, so there's not really a marketplace. Which surprises me a bit though, it could be as simple as setting up a 'blessed' repository, mention it in the docs, add some guidelines and resources to review the merge requests.
Agreed - I'm a bit Gitlab fan, but it does seem as though sometimes there just aren't enough people floating around their tickets and code to actually get stuff like this done. Sometimes they languish for years.
Here's an example: Review Apps. Cool idea, but you'd better have a working K8s cluster with ingress ready to go. When they could add a managed k8s (or something else dockerisable) just for Review Apps inside Gitlab itself.
FWIW, k8s is only the default for review environments, AFAIK. As long as the stage associated with the `review_environment:` key is able to bring up an application on the review_environment's `url:` and then tear it down on review_environment:stop, then that's it. One could use ECS, or php, or any of the other "push button, get URL" setups out there
Unless your comment was made specifically in response to the Auto DevOps part, in which case, yes, they're optimizing for the happy path, not for every possible system in the universe
This is why we started using Earthly. We still use Github Actions, but 95% of our actual CI logic is now encoded in Earthly, which can be run locally on any developer's machine (assuming they have Docker installed). Ironically, it still took me half a day of screwing with Github Actions to get Earthly to run correctly (mostly permissions for pushing images), but since then I've not had to touch it and can do all of my troubleshooting locally.
You run into problems keeping branches up to date manually with bigger teams, because every time a PR lands on main it requires everyone else with a PR up to merge main back in. If the CI handles this automatically it saves a lot of time.
Fair enough, but if you have lots of branches, won't the CI be constantly rerunning as PRs are merged? Or is that the intended behaviour? I would imagine CircleCI, that bills per-minute of CI, might like that, but its customers might not :)
GitLab team member here. We just published a blog post[0] yesterday on how GitLab users can build more reusable CI templates. If you read until the end, you'll be find information about our plans for components and a components catalog.
With that said, I really need a CI system that has a maintenance mode button so I can do 250 failing builds fixing pipelines (I'm ops) and not spam everyone with emails from my specific branch..
edit: Well, I don't know how true it is but I asked chatgpt about maintenance mode and it definitely exists (supposedly) -- Yes, many Continuous Integration (CI) systems allow you to configure maintenance mode or similar settings to prevent notifications for certain branches or builds. This can be useful if you want to perform maintenance on a branch or temporarily disable a build without triggering unnecessary notifications.
edit: It also says CircleCI has one.. so.. I will dig around, sorry to CircleCI if I was totally wrong initally.
lastedit: I don't see it anywhere.. shrug.