← Back to context

Comment by locknitpicker

2 hours ago

> don't understand why GitLab CI is praised so much when it is the most limited and unintuitive ones of all the CI systems I've worked with.

I'm baffled by remarks of GitLab's ICD being "unintuitive". I mean, GitLab's pipelines are made up of a set of stages, and stages are made up of a set of jobs. To put it differently, GitLab's pipelines are made up of jobs, which are grouped into stages. Does this go against your personal notion of a pipeline?

> The smallest unit of action on GitLab is a whole job

No. A job is the smallest unit of execution you can assign a runner to execute. It is used to set things like dependencies and runtime environments. Once your job sets the environment, your job can start to execute your scripts. This means a set of individual shell commands or shell scripts you provide.

> You cannot share secrets between jobs.

Yes, and only a very silly and clueless person would ever think it would be a good idea to share secrets through random runners due to exfiltration risks.

This is not a GitLab thing, mind you. You should really read this

https://secure-pipelines.com/ci-cd-security/gitlab-ci-cd-sec...

> Multiple workflow files instead of a single `.gitlab.yml`

Now I wonder if you're just trolling.

> Dynamic services,

Now this is just silly. Did you even bothered to learn how GitLab handles this?

https://docs.gitlab.com/ci/yaml/matrix_expressions/