#!/usr/bin/env bash set -euo pipefail REGISTRY="${REGISTRY:-harbor.gitdata.me/gtateam}" TAG="${TAG:-$(git rev-parse --short HEAD)}" RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m' log() { echo -e "${GREEN}[OK]${NC} $*"; } err() { echo -e "${RED}[ERR]${NC} $*"; exit 1; } # ── credentials ───────────────────────────────────────────────────── : "${DOCKER_USERNAME:?DOCKER_USERNAME env var required}" : "${DOCKER_PASSWORD:?DOCKER_PASSWORD env var required}" log "Logging into $REGISTRY..." echo "$DOCKER_PASSWORD" | docker login "$REGISTRY" -u "$DOCKER_USERNAME" --password-stdin # ── tag & push ────────────────────────────────────────────────────── IMAGES=(app email-worker git-hook gitserver metrics-aggregator static-server gingress) for name in "${IMAGES[@]}"; do SRC="${name}:${TAG}" DST="${REGISTRY}/${name}:${TAG}" log "Tagging $SRC -> $DST" docker tag "$SRC" "$DST" log "Pushing $DST" docker push "$DST" done log "All images pushed to $REGISTRY"