mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 11:26:25 +00:00
99 lines
2.5 KiB
Bash
99 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
# HGZero UI/UX Prototype Docker Image Build Script
|
|
|
|
set -e
|
|
|
|
# 변수 설정
|
|
IMAGE_NAME="hgzero-uiux-prototype"
|
|
IMAGE_TAG="${1:-latest}"
|
|
REGISTRY="${DOCKER_REGISTRY:-acrdigitalgarage02.azurecr.io}"
|
|
FULL_IMAGE_NAME="${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}"
|
|
|
|
# 색상 코드
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${GREEN}======================================${NC}"
|
|
echo -e "${GREEN}HGZero UI/UX Prototype Image Build${NC}"
|
|
echo -e "${GREEN}======================================${NC}"
|
|
echo ""
|
|
|
|
# 스크립트 디렉토리 경로 저장
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
|
DOCKERFILE_PATH="${SCRIPT_DIR}/Dockerfile"
|
|
|
|
# Dockerfile 확인
|
|
if [ ! -f "${DOCKERFILE_PATH}" ]; then
|
|
echo -e "${RED}Error: Dockerfile not found at ${DOCKERFILE_PATH}${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# 프로젝트 루트로 이동
|
|
cd "${PROJECT_ROOT}"
|
|
|
|
# 프로토타입 파일 확인
|
|
if [ ! -d "design/uiux/prototype" ] || [ -z "$(ls -A design/uiux/prototype/*.html 2>/dev/null)" ]; then
|
|
echo -e "${RED}Error: Prototype HTML files not found in design/uiux/prototype/${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Building Docker image...${NC}"
|
|
echo "Image: ${FULL_IMAGE_NAME}"
|
|
echo ""
|
|
|
|
# Docker 이미지 빌드
|
|
docker build \
|
|
-t ${IMAGE_NAME}:${IMAGE_TAG} \
|
|
-t ${IMAGE_NAME}:latest \
|
|
-t ${FULL_IMAGE_NAME} \
|
|
-f ${DOCKERFILE_PATH} \
|
|
.
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo ""
|
|
echo -e "${GREEN}✓ Build successful!${NC}"
|
|
echo ""
|
|
echo "Created images:"
|
|
echo " - ${IMAGE_NAME}:${IMAGE_TAG}"
|
|
echo " - ${IMAGE_NAME}:latest"
|
|
echo " - ${FULL_IMAGE_NAME}"
|
|
echo ""
|
|
|
|
# 이미지 정보 출력
|
|
echo "Image details:"
|
|
docker images ${IMAGE_NAME}:${IMAGE_TAG}
|
|
echo ""
|
|
|
|
# Push 옵션
|
|
read -p "Push image to registry? (y/N): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
echo -e "${YELLOW}Pushing image to registry...${NC}"
|
|
docker push ${FULL_IMAGE_NAME}
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "${GREEN}✓ Push successful!${NC}"
|
|
else
|
|
echo -e "${RED}✗ Push failed${NC}"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${GREEN}Next steps:${NC}"
|
|
echo "1. Deploy to Kubernetes:"
|
|
echo " kubectl apply -f k8s"
|
|
echo ""
|
|
echo "2. Check deployment status:"
|
|
echo " kubectl get pods -l app=hgzero-uiux-prototype"
|
|
|
|
|
|
else
|
|
echo ""
|
|
echo -e "${RED}✗ Build failed${NC}"
|
|
exit 1
|
|
fi
|