77jobs :
88 ci :
99 runs-on : ubuntu-24.04
10-
1110 steps :
1211 # 1. 소스 코드 체크아웃
1312 - name : Checkout
5554 needs : ci
5655 runs-on : ubuntu-24.04
5756 environment : staging
58-
5957 steps :
6058 - name : Deploy to Staging Server
6159 uses : appleboy/ssh-action@master
@@ -64,13 +62,15 @@ jobs:
6462 username : ${{ secrets.STAGING_SERVER_USER }}
6563 key : ${{ secrets.STAGING_SERVER_KEY }}
6664 script : |
65+ # 오류 발생 시 즉시 스크립트 중단
6766 set -e
6867
68+ # --- 변수 설정 ---
6969 APP_NAME="terning2025-staging"
7070 IMAGE_NAME="terningpoint/terning2025-staging"
7171 NGINX_CONFIG_PATH="/etc/nginx"
7272 SERVICE_URL_INC_PATH="${NGINX_CONFIG_PATH}/conf.d/service-url-staging.inc"
73-
73+
7474 echo "### 1. 최신 Docker 이미지를 pull합니다."
7575 docker pull ${IMAGE_NAME}:latest
7676
8787 OLD_CONTAINER_NAME="${APP_NAME}-8081"
8888 fi
8989
90- # 최초 배포인지 확인
9190 if [ -z "$IS_BLUE_RUNNING" ] && [ -z "$(docker ps -q --filter "name=${APP_NAME}" --filter "publish=8081")" ]; then
9291 echo " > 현재 실행중인 서비스가 없습니다. 최초 배포를 시작합니다."
9392 echo " > 새로 실행할 포트(Green): ${NEW_PORT}"
@@ -102,9 +101,9 @@ jobs:
102101 -p ${NEW_PORT}:8080 \
103102 -e SPRING_PROFILES_ACTIVE=staging \
104103 -e SPRING_DATASOURCE_URL='${{ secrets.DB_URL }}' \
105- -e SPRING_DATASOURCE_USERNAME=${{ secrets.DB_USERNAME }} \
106- -e SPRING_DATASOURCE_PASSWORD=${{ secrets.DB_PASSWORD }} \
107- -e SPRING_JPA_DEFAULT_SCHEMA=${{ secrets.SPRING_JPA_DEFAULT_SCHEMA }} \
104+ -e SPRING_DATASOURCE_USERNAME=' ${{ secrets.DB_USERNAME }}' \
105+ -e SPRING_DATASOURCE_PASSWORD=' ${{ secrets.DB_PASSWORD }}' \
106+ -e SPRING_JPA_DEFAULT_SCHEMA=' ${{ secrets.SPRING_JPA_DEFAULT_SCHEMA }}' \
108107 -e JWT_SECRET_KEY='${{ secrets.JWT_SECRET_KEY }}' \
109108 -e JWT_ACCESS_TOKEN_EXPIRED=${{ secrets.JWT_ACCESS_TOKEN_EXPIRED }} \
110109 -e JWT_REFRESH_TOKEN_EXPIRED=${{ secrets.JWT_REFRESH_TOKEN_EXPIRED }} \
0 commit comments