I always structure my projects such that there is one build.sh file you run, and it does the whole build unattended
It’s important to demystify tech… They’re literally the same except some achieve a descriptor beyond “shitty”.
Definitely. Half my pipelines these days are posh scripts.
Hey now, some of us have standards.
We have shitty python scripts
Those are the same pictures
I’d probably prefer a bash script that’s called from your CI/CD if done properly, just because I could run the same tests locally with that script. That makes the feedback loop much faster and also allows stuff like auto formatting.
Yes, you can do git hooks, but then you have to keep it in sync with your CI/CD all the time.
What about a bash script that calls your CI/CD because the system is so old and complex anyone learning how to use it immediately builds a 1-off tool to hide what they don’t need but then everyone starts relying on that 1-off bash script so you extend the functionality then replace it with a proper tool then let that rot so you need a new bash script to call that to hide the useless parts?
I feel like being able to run things locally is really valuable as well. This has been one of my biggest issues with stuff like aws where it’s very difficult to have an offline local environment. You have things like localstack, but it’s not perfect.
After spending enough time debugging Jenkins pipelines, I wish I had used shitty bash scripts.
CI/CD is just git hooks with extra steps