From 7b68c66725007fc093b607ae8affde4585d2b8e7 Mon Sep 17 00:00:00 2001 From: Michael Chus Date: Thu, 23 Apr 2026 21:47:35 +0300 Subject: [PATCH] ops: simplify to single Image prompt instead of registry+owner Co-Authored-By: Claude Sonnet 4.6 --- ops/build-image.sh | 28 ++++++++++++---------------- ops/push-image.sh | 35 +++++++++++++++-------------------- 2 files changed, 27 insertions(+), 36 deletions(-) diff --git a/ops/build-image.sh b/ops/build-image.sh index a4dca13..b1342c3 100755 --- a/ops/build-image.sh +++ b/ops/build-image.sh @@ -5,7 +5,10 @@ # ./ops/build-image.sh # # Usage (non-interactive — all values as positional args): -# ./ops/build-image.sh +# ./ops/build-image.sh +# +# Example: +# ./ops/build-image.sh v1.0 registry.example.com/myorg/myapp set -eu @@ -16,7 +19,6 @@ command -v docker >/dev/null 2>&1 || { echo "error: docker not found in PATH" >& DEFAULT_TAG=$(git -C "${ROOT_DIR}" rev-parse --short HEAD 2>/dev/null || echo dev) ask() { - # $1 = variable name, $2 = prompt, $3 = default if [ -n "$3" ]; then printf "%s [%s]: " "$2" "$3" >&2 else @@ -26,26 +28,20 @@ ask() { eval "$1=\"\${_val:-$3}\"" } -if [ $# -ge 3 ]; then +if [ $# -ge 2 ]; then IMAGE_TAG="$1" - REGISTRY="$2" - OWNER="$3" + IMAGE="$2" elif [ $# -ge 1 ]; then IMAGE_TAG="$1" - ask REGISTRY "Registry" "" - ask OWNER "Owner" "" + ask IMAGE "Image" "" else - ask IMAGE_TAG "Tag" "${DEFAULT_TAG}" - ask REGISTRY "Registry" "" - ask OWNER "Owner" "" + ask IMAGE_TAG "Tag" "${DEFAULT_TAG}" + ask IMAGE "Image" "" fi -IMAGE_NAME="${IMAGE_NAME:-jukebox-maker}" -FULL_IMAGE="${REGISTRY}/${OWNER}/${IMAGE_NAME}" - -echo "building ${FULL_IMAGE}:${IMAGE_TAG}" +echo "building ${IMAGE}:${IMAGE_TAG}" docker build \ -f "${ROOT_DIR}/Dockerfile" \ - -t "${FULL_IMAGE}:${IMAGE_TAG}" \ - -t "${FULL_IMAGE}:latest" \ + -t "${IMAGE}:${IMAGE_TAG}" \ + -t "${IMAGE}:latest" \ "${ROOT_DIR}" diff --git a/ops/push-image.sh b/ops/push-image.sh index 42ab92f..3b16483 100755 --- a/ops/push-image.sh +++ b/ops/push-image.sh @@ -5,7 +5,10 @@ # ./ops/push-image.sh # # Usage (non-interactive — all values as positional args): -# ./ops/push-image.sh +# ./ops/push-image.sh +# +# Example: +# ./ops/push-image.sh v1.0 registry.example.com/myorg/myapp # # Assumes docker is already logged in to the target registry. @@ -20,9 +23,9 @@ command -v git >/dev/null 2>&1 || die "git not found in PATH" docker buildx version >/dev/null 2>&1 || die "docker buildx not available" DEFAULT_TAG=$(git -C "${ROOT_DIR}" rev-parse --short HEAD 2>/dev/null || echo dev) +PLATFORMS="${PLATFORMS:-linux/amd64,linux/arm64}" ask() { - # $1 = variable name, $2 = prompt, $3 = default if [ -n "$3" ]; then printf "%s [%s]: " "$2" "$3" >&2 else @@ -32,27 +35,19 @@ ask() { eval "$1=\"\${_val:-$3}\"" } -if [ $# -ge 3 ]; then +if [ $# -ge 2 ]; then IMAGE_TAG="$1" - REGISTRY="$2" - OWNER="$3" + IMAGE="$2" elif [ $# -ge 1 ]; then IMAGE_TAG="$1" - ask REGISTRY "Registry" "" - ask OWNER "Owner" "" + ask IMAGE "Image" "" else - ask IMAGE_TAG "Tag" "${DEFAULT_TAG}" - ask REGISTRY "Registry" "" - ask OWNER "Owner" "" + ask IMAGE_TAG "Tag" "${DEFAULT_TAG}" + ask IMAGE "Image" "" fi -IMAGE_NAME="${IMAGE_NAME:-jukebox-maker}" -PLATFORMS="${PLATFORMS:-linux/amd64,linux/arm64}" -FULL_IMAGE="${REGISTRY}/${OWNER}/${IMAGE_NAME}" - echo "" -echo "registry : ${REGISTRY}" -echo "image : ${FULL_IMAGE}" +echo "image : ${IMAGE}" echo "tag : ${IMAGE_TAG}" echo "platforms: ${PLATFORMS}" echo "" @@ -70,12 +65,12 @@ docker buildx use "${BUILDER_NAME}" docker buildx build \ --platform "${PLATFORMS}" \ --file "${ROOT_DIR}/Dockerfile" \ - -t "${FULL_IMAGE}:${IMAGE_TAG}" \ - -t "${FULL_IMAGE}:latest" \ + -t "${IMAGE}:${IMAGE_TAG}" \ + -t "${IMAGE}:latest" \ --push \ "${ROOT_DIR}" echo "" echo "pushed:" -echo " ${FULL_IMAGE}:${IMAGE_TAG}" -echo " ${FULL_IMAGE}:latest" +echo " ${IMAGE}:${IMAGE_TAG}" +echo " ${IMAGE}:latest"