Hacker News new | ask | show | jobs
by darkteflon 2048 days ago
Is GitLab CI/CD substantially better than GitHub Actions, do you know?
3 comments

From my experience, writing a custom driver for GitLab Runner is a lot easier, if you need to support custom setup.

They also differentiate heavily on how they work. With GitLab, if you for example want to run jobs on ephemeral KVM virtual machines, you would have an agent on host machine (or multiple of them), which would then receive a job, spawn VM, execute commands in it, and at the end terminate it.

With GitHub, you would have to spawn VMs in advance, and launch their agent in each of them. When agent dies, you will have to manually kill the VMs, and spawn a new one.

This means that there is no easy way to have VMs spawn on demand, or to spawn different VMs with different configurations depending on job label.

From my experience of using both I prefer Github actions and consider it better. Person opinion and experience of using both.
I've used both, and it seems like both work equally well for the way I want to use it. I prefer to use GitLab because it's open source. Admittedly I haven't used the open source version of GitLab much, but it's nice to know that it's there. It includes CI/CD:

> CI/CD is a part of both the open source GitLab Community Edition and the proprietary GitLab Enterprise Edition

https://about.gitlab.com/stages-devops-lifecycle/continuous-...

As I start to use more advanced features of CI/CD, I might get a better idea of how they compare. I am aware that GitHub Actions has a marketplace but I don't really want to set up my builds that way. I would rather write the steps myself, pulling in docker images and packages from package managers like npm, PyPI, and apt as needed.