7 ms·
GitLab CI is pretty good. I hate, on a fundamental level this whole "bash in YAML" trend. Let's take a powerful, turing complete language and put it in a _conf
by badloginagain 7y ago
GitLab CI is pretty good.
I hate, on a fundamental level this whole "bash in YAML" trend. Let's take a powerful, turing complete language and put it in a _config file_.
What? I don't even...
And the fact that you only get _one_ .gitlab-ci.yml file. That is legitimate madness. Want modularized CI/CD configuration? Not in these parts, buster. Have submodule build dependencies? We laugh at your use case.
Sure as shit better than Jenkins though.
- whatshisface 7y agoYou could use a build system to build .gitlab-ci.yml from many source configuration files, and a build system to build the configuration for the build system that builds the configuration for your build system, and...
- majkinetor 7y agoWith newer versions you can include other yaml files. You can also have templates, special jobs starting with dot.
- badloginagain 7y ago> With newer versions you can include other yaml files. Where do you see this? Looking at https://gitlab.com/gitlab-org/gitlab-ce/issues/18157 https://gitlab.com/gitlab-org/gitlab-ce/issues/18157 it seems this kind of support is still not started
- dboshardy 7y agohttps://docs.gitlab.com/ee/ci/yaml/#include https://docs.gitlab.com/ee/ci/yaml/#include
- core-questions 7y ago> I hate, on a fundamental level this whole "bash in YAML" trend. This is why I hate Ansible. Looks simple until you need to do something complex, and then it becomes horrible. Chef's use of an actual language is far better, though on the flip side it's much harder to provide any kind of interface to configure it outside of a text editor. If only there were some language where config data and code were the same data structure. (hmmmmmm)
- Jedd 7y ago> If only there were some language where config data and code were the same data structure. (hmmmmmm) Do you perhaps mean syntax rather than structure? (Or a subset of the syntax.) If I've guessed correctly, that language has already been wedged into lots of places that it's a poor fit, so I guess there's precedent there.
- mynegation 7y agoI am pretty sure Lisp was wedged into some places where it is a poor fit, but “lots”? Did you guess Javascript by any chance?
- Jedd 7y agoI did guess Javascript, as it happens. Was I wrong? If it was meant to be a reference to Lisp, I take much of it back.
- ISO-morphism 7y agoThe parent was most likely referring to lisp, but note that there are other homoiconic [1] languages. [1] https://en.m.wikipedia.org/wiki/Homoiconicity https://en.m.wikipedia.org/wiki/Homoiconicity
- bsder 7y agoI really don't understand why people are so reluctant to use Tcl for these kinds of things.
- lacion 7y agoyou can write python plugins and modules to extend functionality, there is no need to just start running commands everywhere.
- madjam002 7y agoSo... Nix? https://nixos.org/nixos/about.html https://nixos.org/nixos/about.html
- jhanschoo 7y ago> I hate, on a fundamental level this whole "bash in YAML" trend. Let's take a powerful, turing complete language and put it in a _config file_. That's a feature. You don't want to reason in Turing languages, you want to reason in a mostly restricted grammar with its Turing-complete escape hatches clearly pointed out.
- nhumrich 7y agoGitlab lets you run any step with a different docker base image. How about instead of bash scripting in the yaml, you just put scripts, in any language, in a docket file, and simply use bash to call those scripts. The gitlab yaml is not designed for you to code in, bash is just a standard interface for calling into other things.
- donmcronald 7y agoThis is what I’ve been doing lately. It has the advantage of being able to run the scripts without GitLab CI.
- jl-gitlab 7y agoGitLab CI/CD product director here - we're working towards making includes more flexible to give you a lot more control. Would love your feedback on the small primitives we're looking at here: https://about.gitlab.com/direction/cicd/#powerful-integrated-primitives https://about.gitlab.com/direction/cicd/#powerful-integrated... This for us represents our vision so far on where we want to take GitLab CI next and I think addresses where you see gaps with our product today - we see them too.