Version tagging strategy¶
Version tagging strategy in software development and deployment involves assigning specific identifiers to container images and configuration files to ensure traceability and consistency across environments.^[bookinfo__README.md]
Tagging Images¶
When building container images, the tag serves as the version identifier, usually corresponding to the semantic version of the application^[bookinfo__README.md]. For example, in a build script command src/build-services.sh <version> <prefix>, the <version> argument (e.g., 1.16.3) is appended to the image name (e.g., shamsher31/examples-bookinfo-ratings-v2:1.16.3)^[bookinfo__README.md]. It is common practice to apply both a specific version tag and a latest tag during the build process^[bookinfo__README.md].
Synchronizing Configuration¶
A critical aspect of the strategy is maintaining synchronization between the image tags and the deployment configurations^[bookinfo__README.md]. Once an image is built and pushed with a specific version, the corresponding YAML manifests must be updated to reference that exact tag^[bookinfo__README.md]. Automation scripts, such as build_push_update_images.sh, are often employed to handle the building, pushing, and configuration update steps in a single operation to prevent drift^[bookinfo__README.md].
Related Concepts¶
- [[Continuous Integration]]
- [[Containerization]]
- [[Semantic Versioning]]
- [[Configuration Management]]
Sources¶
^[bookinfo__README.md]