refactor: rename base images to gmcintire/towerops-base
Changed image naming scheme from separate builder/runtime images to a single image name with different tags: - docker.io/gmcintire/towerops-base:builder - docker.io/gmcintire/towerops-base:runtime - docker.io/gmcintire/towerops-base:latest (alias for runtime) This simplifies the naming and makes it clearer that both images are part of the same towerops-base image family. Changes: - build.sh: Use IMAGE_NAME with BUILDER_TAG/RUNTIME_TAG - Makefile: Update all targets to use new naming - k8s/Dockerfile: Point to gmcintire/towerops-base:builder and :runtime
This commit is contained in:
parent
edd64479df
commit
564caed3e5
3 changed files with 80 additions and 96 deletions
|
|
@ -18,8 +18,8 @@ ARG OTP_VERSION=28.3
|
|||
ARG DEBIAN_VERSION=trixie-20251229-slim
|
||||
|
||||
# Use custom base images with pre-installed dependencies for faster builds
|
||||
ARG BUILDER_IMAGE="registry.gitlab.com/towerops/towerops/elixir-builder:latest"
|
||||
ARG RUNNER_IMAGE="registry.gitlab.com/towerops/towerops/debian-runtime:latest"
|
||||
ARG BUILDER_IMAGE="docker.io/gmcintire/towerops-base:builder"
|
||||
ARG RUNNER_IMAGE="docker.io/gmcintire/towerops-base:runtime"
|
||||
|
||||
FROM ${BUILDER_IMAGE} AS builder
|
||||
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@ CONTAINER_CMD := $(shell command -v podman 2>/dev/null || command -v docker 2>/d
|
|||
|
||||
REGISTRY ?= registry.gitlab.com/towerops/towerops
|
||||
DOCKERHUB_REGISTRY ?= docker.io/gmcintire
|
||||
BUILDER_IMAGE_NAME ?= elixir-builder
|
||||
RUNTIME_IMAGE_NAME ?= debian-runtime
|
||||
IMAGE_NAME ?= towerops-base
|
||||
BUILDER_TAG ?= builder
|
||||
RUNTIME_TAG ?= runtime
|
||||
ELIXIR_VERSION ?= 1.19.4
|
||||
OTP_VERSION ?= 28.3
|
||||
DEBIAN_VERSION ?= trixie-20251229-slim
|
||||
TAG ?= $(ELIXIR_VERSION)-erlang-$(OTP_VERSION)-debian-$(DEBIAN_VERSION)
|
||||
|
||||
help: ## Show this help message
|
||||
@echo "Available targets:"
|
||||
|
|
@ -24,55 +24,49 @@ update: build ## Alias for build (rebuilds with latest packages)
|
|||
|
||||
test: ## Test the built images
|
||||
@echo "Testing builder image..."
|
||||
@$(CONTAINER_CMD) run --rm $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest mix --version
|
||||
@$(CONTAINER_CMD) run --rm $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG) mix --version
|
||||
@echo "Testing runtime image..."
|
||||
@$(CONTAINER_CMD) run --rm $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest locale | grep "en_US.UTF-8"
|
||||
@$(CONTAINER_CMD) run --rm $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG) locale | grep "en_US.UTF-8"
|
||||
@echo "✅ All tests passed!"
|
||||
|
||||
push: ## Push images to GitLab and Docker Hub
|
||||
@echo "Pushing builder image to GitLab registry..."
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(BUILDER_IMAGE_NAME):$(TAG)
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest
|
||||
@echo "Pushing runtime image to GitLab registry..."
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(RUNTIME_IMAGE_NAME):$(TAG)
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest
|
||||
@echo "Pushing to GitLab registry..."
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG)
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG)
|
||||
@$(CONTAINER_CMD) push $(REGISTRY)/$(IMAGE_NAME):latest
|
||||
@echo "Tagging for Docker Hub..."
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(BUILDER_IMAGE_NAME):$(TAG) $(DOCKERHUB_REGISTRY)/$(BUILDER_IMAGE_NAME):$(TAG)
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest $(DOCKERHUB_REGISTRY)/$(BUILDER_IMAGE_NAME):latest
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(RUNTIME_IMAGE_NAME):$(TAG) $(DOCKERHUB_REGISTRY)/$(RUNTIME_IMAGE_NAME):$(TAG)
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest $(DOCKERHUB_REGISTRY)/$(RUNTIME_IMAGE_NAME):latest
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG) $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG)
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG) $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG)
|
||||
@$(CONTAINER_CMD) tag $(REGISTRY)/$(IMAGE_NAME):latest $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):latest
|
||||
@echo "Pushing to Docker Hub..."
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(BUILDER_IMAGE_NAME):$(TAG)
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(BUILDER_IMAGE_NAME):latest
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(RUNTIME_IMAGE_NAME):$(TAG)
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(RUNTIME_IMAGE_NAME):latest
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG)
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG)
|
||||
@$(CONTAINER_CMD) push $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):latest
|
||||
|
||||
pull: ## Pull latest images from registry
|
||||
@$(CONTAINER_CMD) pull $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest
|
||||
@$(CONTAINER_CMD) pull $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest
|
||||
@$(CONTAINER_CMD) pull $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG)
|
||||
@$(CONTAINER_CMD) pull $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG)
|
||||
|
||||
inspect: ## Show image details (size, layers, labels)
|
||||
@echo "Builder image size:"
|
||||
@$(CONTAINER_CMD) images $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"
|
||||
@echo "Builder image:"
|
||||
@$(CONTAINER_CMD) images $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG) --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"
|
||||
@echo ""
|
||||
@echo "Runtime image size:"
|
||||
@$(CONTAINER_CMD) images $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"
|
||||
@echo "Runtime image:"
|
||||
@$(CONTAINER_CMD) images $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG) --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"
|
||||
@echo ""
|
||||
@echo "Builder image labels:"
|
||||
@$(CONTAINER_CMD) inspect $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest --format '{{range $$k, $$v := .Config.Labels}}{{$$k}}={{$$v}}{{println}}{{end}}'
|
||||
@echo "Builder labels:"
|
||||
@$(CONTAINER_CMD) inspect $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG) --format '{{range $$k, $$v := .Config.Labels}}{{$$k}}={{$$v}}{{println}}{{end}}'
|
||||
@echo ""
|
||||
@echo "Runtime image labels:"
|
||||
@$(CONTAINER_CMD) inspect $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest --format '{{range $$k, $$v := .Config.Labels}}{{$$k}}={{$$v}}{{println}}{{end}}'
|
||||
@echo "Runtime labels:"
|
||||
@$(CONTAINER_CMD) inspect $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG) --format '{{range $$k, $$v := .Config.Labels}}{{$$k}}={{$$v}}{{println}}{{end}}'
|
||||
|
||||
clean: ## Remove local images
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(BUILDER_IMAGE_NAME):$(TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(BUILDER_IMAGE_NAME):latest || true
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(RUNTIME_IMAGE_NAME):$(TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(RUNTIME_IMAGE_NAME):latest || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(BUILDER_IMAGE_NAME):$(TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(BUILDER_IMAGE_NAME):latest || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(RUNTIME_IMAGE_NAME):$(TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(RUNTIME_IMAGE_NAME):latest || true
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(REGISTRY)/$(IMAGE_NAME):latest || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):$(BUILDER_TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):$(RUNTIME_TAG) || true
|
||||
@$(CONTAINER_CMD) rmi $(DOCKERHUB_REGISTRY)/$(IMAGE_NAME):latest || true
|
||||
@echo "✅ Cleaned local images"
|
||||
|
||||
login: ## Login to GitLab container registry
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ fi
|
|||
|
||||
# Configuration
|
||||
REGISTRY="${REGISTRY:-registry.gitlab.com/towerops/towerops}"
|
||||
DOCKERHUB_REGISTRY="${DOCKERHUB_REGISTRY:-docker.io/gmcintire}"
|
||||
IMAGE_NAME="towerops-base"
|
||||
ELIXIR_VERSION="${ELIXIR_VERSION:-1.19.4}"
|
||||
OTP_VERSION="${OTP_VERSION:-28.3}"
|
||||
DEBIAN_VERSION="${DEBIAN_VERSION:-trixie-20251229-slim}"
|
||||
|
|
@ -24,22 +26,18 @@ DEBIAN_VERSION="${DEBIAN_VERSION:-trixie-20251229-slim}"
|
|||
BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
GIT_SHA=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
|
||||
# Image names
|
||||
BUILDER_IMAGE_NAME="elixir-builder"
|
||||
RUNTIME_IMAGE_NAME="debian-runtime"
|
||||
|
||||
# Image tags
|
||||
# Image tags (separate tags for builder and runtime variants)
|
||||
BUILDER_TAG="builder"
|
||||
RUNTIME_TAG="runtime"
|
||||
TAG_FULL="${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"
|
||||
TAG_LATEST="latest"
|
||||
TAG_DATED="${TAG_FULL}-${BUILD_DATE//[:-]*/}" # YYYY-MM-DD format
|
||||
TAG_DATED="${BUILD_DATE//[:-]*/}" # YYYY-MM-DD format
|
||||
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo "Building Base Images for Towerops"
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo "Container: ${CONTAINER_CMD}"
|
||||
echo "Registry: ${REGISTRY}"
|
||||
echo "Builder Image: ${BUILDER_IMAGE_NAME}"
|
||||
echo "Runtime Image: ${RUNTIME_IMAGE_NAME}"
|
||||
echo "GitLab: ${REGISTRY}/${IMAGE_NAME}"
|
||||
echo "Docker Hub: ${DOCKERHUB_REGISTRY}/${IMAGE_NAME}"
|
||||
echo "Elixir: ${ELIXIR_VERSION}"
|
||||
echo "Erlang: ${OTP_VERSION}"
|
||||
echo "Debian: ${DEBIAN_VERSION}"
|
||||
|
|
@ -62,9 +60,8 @@ $CONTAINER_CMD build \
|
|||
--label "elixir.version=${ELIXIR_VERSION}" \
|
||||
--label "erlang.version=${OTP_VERSION}" \
|
||||
--label "debian.version=${DEBIAN_VERSION}" \
|
||||
-t "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_FULL}" \
|
||||
-t "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}" \
|
||||
-t "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_DATED}" \
|
||||
-t "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}" \
|
||||
-t "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}-${TAG_DATED}" \
|
||||
-f Dockerfile \
|
||||
.
|
||||
|
||||
|
|
@ -79,86 +76,79 @@ $CONTAINER_CMD build \
|
|||
--label "build.date=${BUILD_DATE}" \
|
||||
--label "build.git-sha=${GIT_SHA}" \
|
||||
--label "debian.version=${DEBIAN_VERSION}" \
|
||||
-t "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_FULL}" \
|
||||
-t "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}" \
|
||||
-t "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_DATED}" \
|
||||
-t "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}" \
|
||||
-t "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}-${TAG_DATED}" \
|
||||
-t "${REGISTRY}/${IMAGE_NAME}:latest" \
|
||||
-f Dockerfile \
|
||||
.
|
||||
|
||||
echo ""
|
||||
echo "✅ Build complete!"
|
||||
echo ""
|
||||
echo "Builder image tags:"
|
||||
echo " - ${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_FULL}"
|
||||
echo " - ${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}"
|
||||
echo " - ${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_DATED}"
|
||||
echo ""
|
||||
echo "Runtime image tags:"
|
||||
echo " - ${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_FULL}"
|
||||
echo " - ${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}"
|
||||
echo " - ${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_DATED}"
|
||||
echo "Image tags created:"
|
||||
echo " - ${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}"
|
||||
echo " - ${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}-${TAG_DATED}"
|
||||
echo " - ${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}"
|
||||
echo " - ${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}-${TAG_DATED}"
|
||||
echo " - ${REGISTRY}/${IMAGE_NAME}:latest (runtime)"
|
||||
echo ""
|
||||
|
||||
# Show image sizes
|
||||
echo "📦 Image sizes:"
|
||||
$CONTAINER_CMD images "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}" --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}"
|
||||
$CONTAINER_CMD images "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}" --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}"
|
||||
$CONTAINER_CMD images "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}" --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}"
|
||||
$CONTAINER_CMD images "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}" --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}"
|
||||
echo ""
|
||||
|
||||
# Verify images work
|
||||
echo "🔍 Verifying builder image..."
|
||||
$CONTAINER_CMD run --rm "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}" mix --version
|
||||
$CONTAINER_CMD run --rm "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}" mix --version
|
||||
echo ""
|
||||
echo "🔍 Verifying runtime image..."
|
||||
$CONTAINER_CMD run --rm "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}" locale | grep "en_US.UTF-8"
|
||||
$CONTAINER_CMD run --rm "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}" locale | grep "en_US.UTF-8"
|
||||
echo ""
|
||||
|
||||
# Ask if user wants to push
|
||||
read -p "Push to registries? (y/N) " -n 1 -r
|
||||
echo ""
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "🚀 Pushing builder image to GitLab registry..."
|
||||
$CONTAINER_CMD push "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_FULL}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_DATED}"
|
||||
|
||||
echo "🚀 Pushing runtime image to GitLab registry..."
|
||||
$CONTAINER_CMD push "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_FULL}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_DATED}"
|
||||
echo "🚀 Pushing to GitLab registry..."
|
||||
$CONTAINER_CMD push "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}-${TAG_DATED}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}-${TAG_DATED}"
|
||||
$CONTAINER_CMD push "${REGISTRY}/${IMAGE_NAME}:latest"
|
||||
echo ""
|
||||
|
||||
echo "🚀 Tagging for Docker Hub..."
|
||||
DOCKERHUB_REGISTRY="docker.io/gmcintire"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_FULL}" "${DOCKERHUB_REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_FULL}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}" "${DOCKERHUB_REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_DATED}" "${DOCKERHUB_REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_DATED}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_FULL}" "${DOCKERHUB_REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_FULL}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}" "${DOCKERHUB_REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_DATED}" "${DOCKERHUB_REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_DATED}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}" "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}-${TAG_DATED}" "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}-${TAG_DATED}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}" "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}-${TAG_DATED}" "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}-${TAG_DATED}"
|
||||
$CONTAINER_CMD tag "${REGISTRY}/${IMAGE_NAME}:latest" "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:latest"
|
||||
|
||||
echo "🚀 Pushing to Docker Hub..."
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_FULL}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_DATED}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_FULL}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_DATED}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}-${TAG_DATED}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}-${TAG_DATED}"
|
||||
$CONTAINER_CMD push "${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:latest"
|
||||
echo ""
|
||||
|
||||
echo "✅ Pushed successfully to both registries!"
|
||||
echo ""
|
||||
echo "Update your main Dockerfile to use:"
|
||||
echo " Builder: ARG BUILDER_IMAGE=\"${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}\""
|
||||
echo " Runtime: ARG RUNNER_IMAGE=\"${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}\""
|
||||
echo " Builder: ARG BUILDER_IMAGE=\"${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}\""
|
||||
echo " Runtime: ARG RUNNER_IMAGE=\"${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}\""
|
||||
else
|
||||
echo "⏭️ Skipping push. To push later:"
|
||||
echo " GitLab:"
|
||||
echo " $CONTAINER_CMD push ${REGISTRY}/${BUILDER_IMAGE_NAME}:${TAG_LATEST}"
|
||||
echo " $CONTAINER_CMD push ${REGISTRY}/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}"
|
||||
echo " $CONTAINER_CMD push ${REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}"
|
||||
echo " $CONTAINER_CMD push ${REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}"
|
||||
echo " $CONTAINER_CMD push ${REGISTRY}/${IMAGE_NAME}:latest"
|
||||
echo " Docker Hub:"
|
||||
echo " $CONTAINER_CMD push docker.io/gmcintire/${BUILDER_IMAGE_NAME}:${TAG_LATEST}"
|
||||
echo " $CONTAINER_CMD push docker.io/gmcintire/${RUNTIME_IMAGE_NAME}:${TAG_LATEST}"
|
||||
echo " $CONTAINER_CMD push ${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${BUILDER_TAG}"
|
||||
echo " $CONTAINER_CMD push ${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:${RUNTIME_TAG}"
|
||||
echo " $CONTAINER_CMD push ${DOCKERHUB_REGISTRY}/${IMAGE_NAME}:latest"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue