ops: remove hardcoded registry and owner from scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+36
-9
@@ -1,20 +1,47 @@
|
||||
#!/bin/sh
|
||||
# Build a Docker image locally.
|
||||
#
|
||||
# Usage (interactive — prompts for missing values):
|
||||
# ./ops/build-image.sh
|
||||
#
|
||||
# Usage (non-interactive — all values as positional args):
|
||||
# ./ops/build-image.sh <tag> <registry> <owner>
|
||||
|
||||
set -eu
|
||||
|
||||
ROOT_DIR=$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)
|
||||
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "docker not found in PATH" >&2
|
||||
exit 1
|
||||
command -v docker >/dev/null 2>&1 || { echo "error: docker not found in PATH" >&2; exit 1; }
|
||||
|
||||
DEFAULT_TAG=$(git -C "${ROOT_DIR}" rev-parse --short HEAD 2>/dev/null || echo dev)
|
||||
|
||||
ask() {
|
||||
prompt="$1"; default="$2"
|
||||
if [ -n "$default" ]; then
|
||||
printf "%s [%s]: " "$prompt" "$default"
|
||||
else
|
||||
printf "%s: " "$prompt"
|
||||
fi
|
||||
read -r value
|
||||
echo "${value:-$default}"
|
||||
}
|
||||
|
||||
if [ $# -ge 3 ]; then
|
||||
IMAGE_TAG="$1"
|
||||
REGISTRY="$2"
|
||||
OWNER="$3"
|
||||
elif [ $# -ge 1 ]; then
|
||||
IMAGE_TAG="$1"
|
||||
REGISTRY=$(ask "Registry" "")
|
||||
OWNER=$(ask "Owner" "")
|
||||
else
|
||||
IMAGE_TAG=$(ask "Tag" "${DEFAULT_TAG}")
|
||||
REGISTRY=$(ask "Registry" "")
|
||||
OWNER=$(ask "Owner" "")
|
||||
fi
|
||||
|
||||
GITEA_REGISTRY="${GITEA_REGISTRY:-git.mchus.pro}"
|
||||
GITEA_OWNER="${GITEA_OWNER:-reanimator}"
|
||||
IMAGE_NAME="${IMAGE_NAME:-jukebox-maker}"
|
||||
DEFAULT_TAG=$(git -C "${ROOT_DIR}" rev-parse --short HEAD 2>/dev/null || echo dev)
|
||||
IMAGE_TAG="${1:-${IMAGE_TAG:-${DEFAULT_TAG}}}"
|
||||
|
||||
FULL_IMAGE="${GITEA_REGISTRY}/${GITEA_OWNER}/${IMAGE_NAME}"
|
||||
FULL_IMAGE="${REGISTRY}/${OWNER}/${IMAGE_NAME}"
|
||||
|
||||
echo "building ${FULL_IMAGE}:${IMAGE_TAG}"
|
||||
docker build \
|
||||
|
||||
Reference in New Issue
Block a user