4 ms·
My biggest reason to use CI/CD after been at startups and big companies is to have a repeatable setup, build, and deploy. By taking the human element out of the
by solarmist 5y ago
My biggest reason to use CI/CD after been at startups and big companies is to have a repeatable setup, build, and deploy. By taking the human element out of the machine setup and release/deployment phases a whole class of mistakes are mitigated.
Sure, you're fine with running and managing these servers, but what about the new hire who replaces you when you move on?
Specifically it forces most of the DevOps tribal knowledge to be coded/documented. Those "Oh, that's right I needed to recompile the mod_wsgi extension manually because this version of the CentOS didn't support python 3" moments go away. (This is a real example from the last server I needed to setup by hand.)
It conveniently it also makes setting it up on a new machine a piece of cake. Clone the repo, run the setup command/script and run the
It took me a while to grok, all of the pieces, but I'm glad to have it.
That said it can get extremely complex (and by extension fragile) for little benefit. My entire setup and deployment are controlled with two scripts one for creating a cluster (CDN, DB, message queue, app server, monitoring) and one GitHub action script for CI/CD.
It's all very understandable even for people who've never worked with these technologies before. Writing the scripts on the other hand take a lot of knowledge and it took me a month to really grok what I was doing.