From a213699c021282f0182b6c13b2585c0a11565491 Mon Sep 17 00:00:00 2001 From: jisangs Date: Sun, 5 Jul 2026 13:56:15 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=ED=8F=AC=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/deploy-production.sh | 53 ++++++++++++++++++++++++++++++++++++ scripts/deploy-stage.sh | 46 +++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100755 scripts/deploy-production.sh create mode 100755 scripts/deploy-stage.sh diff --git a/scripts/deploy-production.sh b/scripts/deploy-production.sh new file mode 100755 index 0000000..2a7f0d2 --- /dev/null +++ b/scripts/deploy-production.sh @@ -0,0 +1,53 @@ +#!/bin/bash +set -euo pipefail + +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +BLUE='\033[0;34m' +NC='\033[0m' + +DEPLOY_DIR="/volume1/docker/service/jinaju/chocoadmin" +SERVICE="chocoadmin" +URL="https://chocoadmin.jinaju.com" + +echo -e "${RED}==============================${NC}" +echo -e "${RED} chocoadmin 운영 배포${NC}" +echo -e "${RED}==============================${NC}" +echo "" +echo -e "${RED}운영 서버에 배포합니다. 계속하시겠습니까? (yes 입력)${NC}" +read -r CONFIRM +if [ "$CONFIRM" != "yes" ]; then + echo "배포를 취소했습니다." + exit 0 +fi + +echo -e "\n${YELLOW}[1/5] 디렉토리 이동${NC}" +cd "$DEPLOY_DIR" +echo " $(pwd)" + +echo -e "\n${YELLOW}[2/5] git pull${NC}" +git pull --ff-only + +echo -e "\n${YELLOW}[3/5] proxy-network 확인${NC}" +if docker network inspect proxy-network >/dev/null 2>&1; then + echo " proxy-network 존재" +else + docker network create proxy-network + echo " proxy-network 생성 완료" +fi + +echo -e "\n${YELLOW}[4/5] 빌드 및 컨테이너 시작${NC}" +docker compose up -d --build --remove-orphans + +echo -e "\n${YELLOW}[5/5] NPM nginx 리로드${NC}" +docker exec npm nginx -s reload +echo " 리로드 완료" + +echo -e "\n${YELLOW}컨테이너 상태${NC}" +docker compose ps + +echo -e "\n${GREEN}배포 완료${NC}" +echo " $URL" +echo "" +echo "로그: docker compose -f $DEPLOY_DIR logs -f $SERVICE" diff --git a/scripts/deploy-stage.sh b/scripts/deploy-stage.sh new file mode 100755 index 0000000..0797e4a --- /dev/null +++ b/scripts/deploy-stage.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -euo pipefail + +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' + +DEPLOY_DIR="/volume1/docker/service/jinaju/stage-chocoadmin" +COMPOSE_FILE="docker-compose.stage.yml" +SERVICE="stage-chocoadmin" +URL="https://stage-chocoadmin.jinaju.com" + +echo -e "${BLUE}==============================${NC}" +echo -e "${BLUE} stage-chocoadmin 배포${NC}" +echo -e "${BLUE}==============================${NC}" + +echo -e "\n${YELLOW}[1/5] 디렉토리 이동${NC}" +cd "$DEPLOY_DIR" +echo " $(pwd)" + +echo -e "\n${YELLOW}[2/5] git pull${NC}" +git pull --ff-only + +echo -e "\n${YELLOW}[3/5] proxy-network 확인${NC}" +if docker network inspect proxy-network >/dev/null 2>&1; then + echo " proxy-network 존재" +else + docker network create proxy-network + echo " proxy-network 생성 완료" +fi + +echo -e "\n${YELLOW}[4/5] 빌드 및 컨테이너 시작${NC}" +docker compose -f "$COMPOSE_FILE" up -d --build --remove-orphans + +echo -e "\n${YELLOW}[5/5] NPM nginx 리로드${NC}" +docker exec npm nginx -s reload +echo " 리로드 완료" + +echo -e "\n${YELLOW}컨테이너 상태${NC}" +docker compose -f "$COMPOSE_FILE" ps + +echo -e "\n${GREEN}배포 완료${NC}" +echo " $URL" +echo "" +echo "로그: docker compose -f $DEPLOY_DIR/$COMPOSE_FILE logs -f $SERVICE"