Skip to content

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].

  • [[Continuous Integration]]
  • [[Containerization]]
  • [[Semantic Versioning]]
  • [[Configuration Management]]

Sources

^[bookinfo__README.md]