cross-posted from: https://lemmy.world/post/21065836
Hi friends, as promised, I’m back with my second post. I’ll be hanging around in the comments for any questions!
In this post, I take a look at a typical deployment process, how long each part of it takes, and then I present a simple alternative that I use which is much faster and perfect for hobbit software.
This is great stuff.
My comment from the peanut gallery today is just that there’s no law that CI/CD can’t be kept under control and run in ten seconds.
Given the choice between a slow out of control CI/CD mess, or a shell script, I too will take the shell script every time.
But I am living my best life today, and have a simple shell script in my CI/CD pipeline.
For our lower environments we use rsync like the author but skip the pipeline altogether. The servers have a watch script to restart when files are rsynced. We then have a local watch script that rsyncs on file changes.
Relatively instant deploy (2-5s) whenever a file is saved.
I mean for a hobby project that no one cares about sure. Otherwise the whole CI/CD process was invented exactly to avoid having devs push untested and untrackable crap on production servers. So once there are more than two people in a team and paying customers with access to a lawyer that’s going to be a hard pass.
Anyway the main reason your CI/CD are slow is that you’re using $5 workers with 1Gb ram. There’s a reason the build is faster on your 12 core/64Gb laptop, the issue is usually not the process, the issue is being cheap on the infrastructure. The only good thing about GitHub CI workers is that they are cheap but performance wise they are garbage.
I miss the bygone era of right click > publish


