Until he actually had to use it.
Took 2 hours of reading through examples just to deploy the site.
Turns out, it is hard to do even just the bash
stuff when you can’t see the container.
Until he actually had to use it.
Took 2 hours of reading through examples just to deploy the site.
Turns out, it is hard to do even just the bash
stuff when you can’t see the container.
Here’s my hot tip! (ok maybe luke warm)
Write as much of your CICD in a scripting language like bash/python/whatever. You’ll be able to test it locally and then the testing phase of your CICD will just be setting up the environment so it has the right git branches coined, permissions, etc.
You won’t need to do 30 commits now, only like 7! And you’ll cry for only like 20 minutes instead of a whole afternoon!
Aggressively seconding this. If you can just do a step in a bash command, do that, don’t use the stupid yaml wrapper they provide that actually just turns around and runs the same bash command but with extra abstraction to learn, break, fix, and maintain for stupid, meaningless upgrades. It will save you time because you’ll be using better-tested, more widely-used tools and approaches.
Yeah, I think that’s the best that can be done right now.
It also leads to a different question: do we really need these fancy systems, or do we need a bunch of bash scripts with a cronjob or monitors to trigger the build?
In my last workplace, I was responsible for making whatever automation I wanted (others just did everything manually) and I just appended a bunch of bash scripts to the Qt Creator Build and Run commands. It easily worked pretty well.
I guess the fancy systems are again, just to add another layer of abstraction, when everything is running on their containers instead of ours.
We have all of our build and CI in
make
so, theoretically, all the CI system needs to do is run a single command. Then I try to run the command on a CI server, it is missing an OS package (and their package manager version is a major version behind so I need to download a pre-built binary from the project site). Then the tests get kill for using too much memory. Then, after I reduce resource limits, the tests time out…I am grateful that we use CircleCI as our SaaS CICD and they let me SSH on to a test container so I can see what is going on.