Gitlab has too many half-baked features. Ive hit those issues at least a dosen times.
From the top of my head:
- Environment variables dont work with triggers
- MS Teams integration does not support multiple channels
- Masking doesnt work for all variables
- Code AutoDeploy quite often just breaks for no reason..
- Kubernetes integration is super poor
I would prefer to have fewer fearures that actually work well and have good support instead of bunch of stuff you have to sometimes wait years for to be fixed (looking at their issue tracker).
[1] https://docs.gitlab.com/ee/user/clusters/agent/ [2] https://about.gitlab.com/direction/monitor/observability/#pr...
https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3376
I’ve had to write a wrapper script around each command that polls the cicd job Id and kills its subprocesses properly if the job is cancelled.
I don't know if you just need to do process groups or walk the subprocess tree or what... but generally, this is a solved problem on Linux for things that manage subprocesses... assuming the processes don't manually do something silly like daemonizing themselves. (That's not my use case.)
Linux should be the easiest case.
edit: What is most frustrating is this issue appears to have been opened ~4 years ago.
Still - I do like it overall
We use GitLab at work, and I tried hard to push back against the hate for it, but its hard sometimes when GitLab is just WEIRD, especially in simple things like MRs.