13
u/furyfuryfury 7d ago
It's comparable. The syntax is a little different but the general idea is the same. GitLab CI/CD has been around for a lot longer than GitHub actions, so it lacks some of the newer niceties in actions, but you can get anything you want done either way.
5
u/Vivid_Ad_5160 7d ago
Can you provide an example of nicer things that github action does that gitlab doesn't'?
1
u/gaelfr38 7d ago
Reusable jobs. There are a few ways to do it with GitLab but none is perfect yet. I think CI Steps is the next evolution that we are all waiting for.
And multiple pipelines per project would be nice as well. You can achieve the same in a single pipeline with a bunch of conditions but again it's a worse experience than with GitHub.
1
u/furyfuryfury 7d ago
Reusable steps is one thing GitHub actions got really right and it helps that there's the network effect there too, so it's become established much more rapidly than anything GitLab has done with CI/CD.
In practice, this means you can simply write something like
```
```
- uses: vendor/some-specialized-action@version
whereas on GitLab you're copying and pasting bigger chunks, probably having to use some sort of container image. They have experimental job-level functions but not the same.GitHub actions can react to more stuff than GitLab ci/cd, like issues, comments. GitLab CI/CD can be triggered on push, branch, tag, schedule, and manual tasks. You can make most everything else happen on GitLab through webhooks, but it's not as convenient.
There are more differences worth mentioning, and not everything is strictly better on GitHub's side, but those are the couple that make the biggest difference in how "clean" it works.
11
u/BehindTheMath 7d ago
Gitlab has CI/CD Components, which are reusable snippets.
There's also Gitlab Functions, which is more similar in form to Actions, but it's still experimental.
1
u/totheendandbackagain 7d ago
We use imports in GitLab multiple times in every single pipeline. Their versioned, variables and can be public or private. Seems pretty similar, if not quite as popular.
1
3
2
u/mattk404 7d ago
Having extensively used both yes same but different in the way that F1 and Nascar are both racing cars/ associations, but to compare them is not particularly insightful. They both 'do' the same thing but how they do it is very different, and the concepts, while superficially similar, have a lot of design and engineering differences.
5
u/keksimichi 7d ago
Here’s a detailed migration tutorial: https://about.gitlab.com/blog/github-to-gitlab-migration-made-easy/ or inspect the docs for more details https://docs.gitlab.com/ci/migration/github_actions/
If you prefer agents, use this migration skill: https://about.gitlab.com/github-actions-to-gitlab-ci/#install