4 ms·
One set of internal tools that I have repeatedly seen companies struggle with are the release management tools. It usually starts when a team is quite small, a
by BerislavLopac 3y ago
One set of internal tools that I have repeatedly seen companies struggle with are the release management tools.
It usually starts when a team is quite small, and someone builds some DevOps pipelines that nicely automate deployment to dev and test environments. When it comes to production deployment, it seems natural to simply duplicate the same pipelines -- however, production is generally quite different from other environments:
1. There is an approval process, which does not exist for other environments. Even if it is possible to have it fully automated (I have yet to see it in practice), it requires rigorous tests and verification of the code; and if it is not automated, the process generally involves plenty of back and forth communication between testers, product owners, developers etc.
2. Ideally, deploying to production should not involve rebuilding the project anew. Once you deploy it to a testing environment, and it passes all the tests, deploying the exact same artifact (docker image, ZIP file, Python wheel, binary executable or whatever) to production is the only way to ensure that you're deploying what has been tested and approved.
I have searched for a third-party tool to manage this process, but haven't found anything satisfactory yet (suggestions welcome!) -- one of the reasons is probably the fact that the processes differ so wildly between companies and teams.
- mgummelt 3y ago> I have yet to see it in practice I don't know where you work, but automated continuous deployment has been an industry standard for fifteen years.