Add a build script
This commit is contained in:
81
build.sh
81
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
|
||||
|
||||
Reference in New Issue
Block a user