ops: simplify to single Image prompt instead of registry+owner
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,10 @@
|
||||
# ./ops/build-image.sh
|
||||
#
|
||||
# Usage (non-interactive — all values as positional args):
|
||||
# ./ops/build-image.sh <tag> <registry> <owner>
|
||||
# ./ops/build-image.sh <tag> <image>
|
||||
#
|
||||
# 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}"
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
# ./ops/push-image.sh
|
||||
#
|
||||
# Usage (non-interactive — all values as positional args):
|
||||
# ./ops/push-image.sh <tag> <registry> <owner>
|
||||
# ./ops/push-image.sh <tag> <image>
|
||||
#
|
||||
# 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"
|
||||
|
||||
Reference in New Issue
Block a user