3 ms·
I Still Like Jenkins
- immibis2 6mo agoA GUI that lists all the available options is much more user-friendly than a YAML configuration file where you have to guess them or pore over documentation before starting, but even Jenkinsfile syntax looks better than YAML, and Groovy is a real (edit: realer) language that, in theory, can have things like syntax highlighting and auto-completion.
- yepyoukno 6mo agoUgh! I knew someone would try to say groovy was a real language. I miss the good old days with bash scripts and cron. Why must so many diverging environments and tools mingle in our mental space.
- hiAndrewQuinn 6mo agoYou can always just split the difference and call your shell script with sh "./whatever.sh"` if you want in a modern Jenkinsfile. It's really not that big of a deal to avoid Groovy if you truly cannot stand it. As for cron, that's also supported out of the box. triggers { cron('0 0 * * *') } At that point Jenkins is mostly acting as a nice frontend to all those cronjobs and shell scripts, but at least it keeps records of all the logs etc.
- yepyoukno 6mo agoOh brother don’t think I don’t know how to “work around” anyone else’s favorite tool. I guess I should be happy it isn’t CA Unicenter.
- hiAndrewQuinn 6mo agoSee it how you wish; but shell script execution was part of Jenkins from day 1, to my knowledge, over 20 years ago now. It's a 'workaround' the same way walking upstairs is a workaround for an escalator, imo.
- yepyoukno 6mo agoOh I know it! I was slighting Groovy when the old fashion way always worked just fine! Didn’t mean to draw it out as “one of those” battles. Cheers!
- tomkarho 6mo agoIt's all fun and shells until you start adding parameters especially when those parameters have quotemarks in them. Groovy can get pretty wild with the syntax.
- pestatije 6mo agocant read those snippets... need more contrast
- hiAndrewQuinn 6mo agoapologies, didn't test the layout on light mode - thanks for letting me know
- mmarian 5mo agoI miss Jenkins too. A lot more flexible compared to GitHub Actions. Also addresses the supply chain attack vector we've seeing recently, by design. You don't pull external dependencies on every CI/CD invocation; they're installed once, on the server. Realised this when I was writing my post on what you have to do to replicate this in a makeshift way in GitHub Actions: https://developerwithacat.com/blog/202604/github-actions-supply-chain-commit/ https://developerwithacat.com/blog/202604/github-actions-sup...