Add a build script

This commit is contained in:
2026-01-25 12:08:56 +01:00
parent 98fff24d94
commit cd5716b7f0

View File

@@ -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