From cd5716b7f07c036797308c1944a248c15fbe7be1 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sun, 25 Jan 2026 12:08:56 +0100 Subject: [PATCH] Add a build script --- build.sh | 81 +++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 27 deletions(-) diff --git a/build.sh b/build.sh index 0105c11..0a6d09d 100644 --- a/build.sh +++ b/build.sh @@ -1,44 +1,71 @@ #!/bin/bash -REGISTRY="docker.site.quack-lab.dev" -BACKEND_IMAGE="zkill-susser-backend" -FRONTEND_IMAGE="zkill-susser-frontend" +# ============================================================================ +# CONFIGURATION - Modify these for your project +# ============================================================================ -echo "Building backend Docker image..." -docker build -t ${BACKEND_IMAGE} . +# Docker registry and image name +DOCKER_REPO="docker.site.quack-lab.dev" +IMAGE_NAME="zkill-susser-backend" + +# ============================================================================ +# DOCKER BUILD AND TAG +# ============================================================================ + +COMMIT_SHA=$(git rev-parse --short HEAD) +IMAGE_BASE="${DOCKER_REPO}/${IMAGE_NAME}" + +echo "Building Docker image..." +docker build -t "${IMAGE_BASE}:${COMMIT_SHA}" . if [ $? -ne 0 ]; then echo "Error building backend Docker image" exit 1 fi -echo "Tagging backend image as ${REGISTRY}/${BACKEND_IMAGE}..." -docker tag ${BACKEND_IMAGE} ${REGISTRY}/${BACKEND_IMAGE} +echo "Tagging as latest..." +docker tag "${IMAGE_BASE}:${COMMIT_SHA}" "${IMAGE_BASE}:latest" -if [ $? -ne 0 ]; then - echo "Error tagging backend Docker image" - exit 1 +TAGS=$(git tag --points-at HEAD) +if [ -n "$TAGS" ]; then + echo "Found tags on current commit:" + while IFS= read -r tag; do + if [ -n "$tag" ]; then + echo "Tagging as ${tag}..." + docker tag "${IMAGE_BASE}:${COMMIT_SHA}" "${IMAGE_BASE}:${tag}" + fi + done <<< "$TAGS" fi -echo "Pushing backend to registry..." -docker push ${REGISTRY}/${BACKEND_IMAGE} - -if [ $? -ne 0 ]; then - echo "Error pushing backend Docker image" - exit 1 -fi +# ============================================================================ +# PUSH IMAGES +# ============================================================================ echo "" -echo "Building frontend..." -cd frontend -bash build.sh -if [ $? -ne 0 ]; then - echo "Error building frontend" - exit 1 +echo "Pushing Docker images..." +docker push "${IMAGE_BASE}:${COMMIT_SHA}" +docker push "${IMAGE_BASE}:latest" + +if [ -n "$TAGS" ]; then + while IFS= read -r tag; do + if [ -n "$tag" ]; then + docker push "${IMAGE_BASE}:${tag}" + fi + done <<< "$TAGS" fi -cd .. + +# ============================================================================ +# SUMMARY +# ============================================================================ echo "" -echo "Docker images built, tagged, and pushed successfully!" -echo "Backend: ${REGISTRY}/${BACKEND_IMAGE}" -echo "Frontend: ${REGISTRY}/${FRONTEND_IMAGE}" +echo "Build complete! Image pushed as:" +echo " - ${IMAGE_BASE}:${COMMIT_SHA}" +echo " - ${IMAGE_BASE}:latest" +if [ -n "$TAGS" ]; then + while IFS= read -r tag; do + if [ -n "$tag" ]; then + echo " - ${IMAGE_BASE}:${tag}" + fi + done <<< "$TAGS" +fi