Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Node/Express Semantic Release + Docker Image (Artifact) Versions w/n Continuous Delivery(CD) #66
With a CI/CD pipeline set up to build, analyze (test, etc), and release a Node/Express applications to a Docker Image, what suggestions do you have for application versioning and container versioning?
One key piece of direction, I’m trying to follow is something I read about Apps in containers just being artifacts passed along environments. Taking this approach to a possible limit then code merged to master sets off a build of a new app version and container version. And since not all code will pass the pipeline analysis this then sets off lots of semantic bumps on the code app when they don’t all pass the pipeline?
Typically automated CI/CD pipelines, which should generally do these things in this order:
Notice that there's two distinct image tagging paths... one for machines that are non-reusable tags used to guarantee and easily identify what's running, and a friendlier reusable tag plan for humans. One of the many reasons you want to limit what people/things use reusable tags, is that all the container tools have different ways of handling how they check for "newer versions of this tag". By never reusing tags for CI and servers, you 100% know that's the properly updated image in use.
Hope that helps :)