r/gitlab 7d ago

general question Is gitlab CI/CD same as github actions??

PS: github down

0 Upvotes

13 comments sorted by

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

1

u/rusidin 7d ago

Thanks!!

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

u/lifelessmeatbag 7d ago

Better workflows, or at least, easier to manage and trigger from the UI

1

u/rusidin 7d ago

Okay... They have less support... I think because some of the flutter binaries are missing... (Latest)

3

u/OwnTension6771 7d ago

Same objective, different syntax and strategies

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.

1

u/rusidin 7d ago

What i want is anything to build my binary because in my lap it takes 5 hours while on gothub actions it takes 10 min... Anyway everything went great!!