Counterpoint: watching little green checkmarks appear when my PR passes a pipeline step gives me dopamine
The build system issue is getting out of control. Just look at cmake
When your build system is a build system for build systems you know something went wrong years ago
Real talk- I agree with this meme as truth.
The more and more I use CICD tools, the more I see value in scripting out my deployment with shell scripts and Dockerfiles that can be run anywhere, to include within a CICD tool.
This way, the CICD tool is merely a launch point for the aforementioned deployment scripts, and its only other responsibility is injecting deployment tokens and credentials into the scripts as necessary.
Anyone else in the same boat as me?
I’d be curious to hear about projects where my approach would not work, if anyone is willing to share!
Edit: In no way does my approach to deployment reduce my appreciation for the efforts required to make a CICD pipeline happen. I’m just saying that in my experience, I don’t find most CICD platforms’ features to be necessary.
You’re not advocating against CI like the meme seems to be, but rather for CI builds to be runnable on human’s machines and the results should be same/similar as in when running w/in the CI system. Which is what CI folks want anyway.
Honestly, CI is only meaningful on bigger projects (more than 100 man-hours invested in total). So I most often go without.
But I do see its point.
Ha ha. I work on Bazel (a great build tools, https://bazel.build), and I agree 100%.
Please ignore everyone else being unkind - I’m somewhat new to build systems in general, what are the advantages/disadvantages of Bazel compared to other build systems?
God I hate bazel/blaze.
Thanks? I’m not sure why you wanted to share that with me.
You shared randomly, they shared randomly. Balance in all things.
Allow me to blow your mind: my Jenkins build calls build.sh because I’m not a fuckin idiot
I know this is a meme, but just in case someone doesn’t actually know. CI saves literally thousands upon thousands of dev hours a year, even for small teams.
Probably also causes lots of hours of maintenance and troubleshooting…but it’s a net gain in the end.
I can’t even imagine not having a ci pipeline anymore. Having more than a single production architecture target complete with test sets, Security audits, linters, multiple languages, multiple hour builds per platform… hundreds to thousands of developers… It’s just not possible to even try to make software at scale without it.
Yeah sure. Try building anything more complex than helloworld.c with a build.sh