Add version.txt and auto-incrementing build script
- version.txt tracks the current image tag - build-and-tag.sh now reads/increments version, builds, and pushes to the registry in one step (still accepts explicit tag as arg) - Starting at v6 to avoid ambiguity with the overwritten v5
This commit is contained in:
+18
-3
@@ -1,13 +1,28 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Build the container image and tag it for the registry.
|
# Build the container image and tag it for the registry.
|
||||||
# Usage: ./build-and-tag.sh <tag> e.g. ./build-and-tag.sh v1
|
# Usage: ./build-and-tag.sh # reads version.txt, increments, builds, pushes
|
||||||
|
# Usage: ./build-and-tag.sh <tag> # explicit tag (e.g. ./build-and-tag.sh v6)
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
IMAGE=hardings-service
|
IMAGE=hardings-service
|
||||||
REGISTRY=registry.digitalsorcery.net
|
REGISTRY=registry.digitalsorcery.net
|
||||||
TAG="${1:?usage: $0 <tag>}"
|
VERSION_FILE="$(dirname "$0")/version.txt"
|
||||||
|
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
TAG="$1"
|
||||||
|
else
|
||||||
|
# Read current version, increment the numeric portion
|
||||||
|
CURRENT=$(cat "$VERSION_FILE" | tr -d '[:space:]')
|
||||||
|
NUM=$(echo "$CURRENT" | sed 's/v//')
|
||||||
|
TAG="v$((NUM + 1))"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Building ${IMAGE}:${TAG} ..."
|
||||||
podman build -t "${IMAGE}:${TAG}" -f Containerfile .
|
podman build -t "${IMAGE}:${TAG}" -f Containerfile .
|
||||||
podman tag "${IMAGE}:${TAG}" "${REGISTRY}/${IMAGE}:${TAG}"
|
podman tag "${IMAGE}:${TAG}" "${REGISTRY}/${IMAGE}:${TAG}"
|
||||||
|
podman push "${REGISTRY}/${IMAGE}:${TAG}"
|
||||||
|
|
||||||
echo "Push with: podman push ${REGISTRY}/${IMAGE}:${TAG}"
|
# Update version.txt to match the tag we just pushed
|
||||||
|
echo "$TAG" > "$VERSION_FILE"
|
||||||
|
|
||||||
|
echo "Done. ${REGISTRY}/${IMAGE}:${TAG} pushed."
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
v6
|
||||||
Reference in New Issue
Block a user