33 lines
1.2 KiB
Bash
33 lines
1.2 KiB
Bash
#!/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"
|