@@ -92,54 +92,62 @@ jobs:
9292 cd $HOME/project
9393
9494 echo "Updating .env file with latest Secret Manager values..."
95+
96+ # 오류 발생 시 즉시 종료
97+ set -e
9598
9699 # .env 파일 백업
97100 cp .env .env.backup.$(date +%Y%m%d_%H%M%S)
101+
102+ # 임시 파일 생성
103+ NEW_ENV=$(mktemp)
98104
99- # Secret Manager 관련 라인들 제거
100- sed -i '/^DB_URL=/d' .env
101- sed -i '/^JWT_SECRET=/d' .env
102- sed -i '/^GOOGLE_CLIENT_ID=/d' .env
103- sed -i '/^GOOGLE_CLIENT_SECRET=/d' .env
104- sed -i '/^GOOGLE_API_KEY=/d' .env
105- sed -i '/^GOOGLE_CALENDAR_REDIRECT_URI=/d' .env
106- sed -i '/^OAUTH_REDIRECT_URI=/d' .env
107- sed -i '/^KAKAO_CLIENT_ID=/d' .env
108- sed -i '/^KAKAO_CLIENT_SECRET=/d' .env
109- sed -i '/^KAKAO_API_KEY=/d' .env
110- sed -i '/^ZOOM_ACCOUNT_ID=/d' .env
111- sed -i '/^ZOOM_CLIENT_ID=/d' .env
112- sed -i '/^ZOOM_CLIENT_SECRET=/d' .env
113- sed -i '/^GCP_IP=/d' .env
114- sed -i '/^FRONT_DOMAIN_A=/d' .env
115- sed -i '/^FRONT_DOMAIN_B=/d' .env
116- sed -i '/^FRONT_CALLBACK=/d' .env
117- sed -i '/^REDIS_HOST=/d' .env
118- sed -i '/^REDIS_PORT=/d' .env
105+ # # Secret Manager 관련 라인들 제거
106+ # sed -i '/^DB_URL=/d' .env
107+ # sed -i '/^JWT_SECRET=/d' .env
108+ # sed -i '/^GOOGLE_CLIENT_ID=/d' .env
109+ # sed -i '/^GOOGLE_CLIENT_SECRET=/d' .env
110+ # sed -i '/^GOOGLE_API_KEY=/d' .env
111+ # sed -i '/^GOOGLE_CALENDAR_REDIRECT_URI=/d' .env
112+ # sed -i '/^OAUTH_REDIRECT_URI=/d' .env
113+ # sed -i '/^KAKAO_CLIENT_ID=/d' .env
114+ # sed -i '/^KAKAO_CLIENT_SECRET=/d' .env
115+ # sed -i '/^KAKAO_API_KEY=/d' .env
116+ # sed -i '/^ZOOM_ACCOUNT_ID=/d' .env
117+ # sed -i '/^ZOOM_CLIENT_ID=/d' .env
118+ # sed -i '/^ZOOM_CLIENT_SECRET=/d' .env
119+ # sed -i '/^GCP_IP=/d' .env
120+ # sed -i '/^FRONT_DOMAIN_A=/d' .env
121+ # sed -i '/^FRONT_DOMAIN_B=/d' .env
122+ # sed -i '/^FRONT_CALLBACK=/d' .env
123+ # sed -i '/^REDIS_HOST=/d' .env
124+ # sed -i '/^REDIS_PORT=/d' .env
119125
120- # Secret Manager에서 최신 값들을 가져와서 .env에 추가
121- echo "" >> .env
122- echo "DB_URL=$(gcloud secrets versions access latest --secret='db-url')" >> .env
123- echo "JWT_SECRET=$(gcloud secrets versions access latest --secret='jwt-secret')" >> .env
124- echo "GOOGLE_CLIENT_ID=$(gcloud secrets versions access latest --secret='google-client-id')" >> .env
125- echo "GOOGLE_CLIENT_SECRET=$(gcloud secrets versions access latest --secret='google-client-secret')" >> .env
126+ # Secret Manager에서 최신 값들을 가져와서 임시 파일에 추가
127+ echo "DB_URL=$(gcloud secrets versions access latest --secret='db-url')" >> $NEW_ENV
128+ echo "JWT_SECRET=$(gcloud secrets versions access latest --secret='jwt-secret')" >> $NEW_ENV
129+ echo "GOOGLE_CLIENT_ID=$(gcloud secrets versions access latest --secret='google-client-id')" >> $NEW_ENV
130+ echo "GOOGLE_CLIENT_SECRET=$(gcloud secrets versions access latest --secret='google-client-secret')" >> $NEW_ENV
126131 echo "GOOGLE_API_KEY=$(gcloud secrets versions access latest --secret='google-api-key')" >> .env
127- echo "GOOGLE_CALENDAR_REDIRECT_URI=$(gcloud secrets versions access latest --secret='google-calendar-redirect-uri')" >> .env
128- echo "OAUTH_REDIRECT_URI=$(gcloud secrets versions access latest --secret='oauth-redirect-uri')" >> .env
129- echo "KAKAO_CLIENT_ID=$(gcloud secrets versions access latest --secret='kakao-client-id')" >> .env
130- echo "KAKAO_CLIENT_SECRET=$(gcloud secrets versions access latest --secret='kakao-client-secret')" >> .env
131- echo "KAKAO_API_KEY=$(gcloud secrets versions access latest --secret='kakao-api-key')" >> .env
132- echo "ZOOM_ACCOUNT_ID=$(gcloud secrets versions access latest --secret='zoom-account-id')" >> .env
133- echo "ZOOM_CLIENT_ID=$(gcloud secrets versions access latest --secret='zoom-client-id')" >> .env
134- echo "ZOOM_CLIENT_SECRET=$(gcloud secrets versions access latest --secret='zoom-client-secret')" >> .env
135- echo "GCP_IP=$(gcloud secrets versions access latest --secret='gcp-ip')" >> .env
136- echo "FRONT_DOMAIN_A=$(gcloud secrets versions access latest --secret='front-domain-A')" >> .env
137- echo "FRONT_DOMAIN_B=$(gcloud secrets versions access latest --secret='front-domain-B')" >> .env
138- echo "FRONT_CALLBACK=$(gcloud secrets versions access latest --secret='front-callback')" >> .env
139- echo "REDIS_HOST=$(gcloud secrets versions access latest --secret='redis-host')" >> .env
140- echo "REDIS_PORT=$(gcloud secrets versions access latest --secret='redis-port')" >> .env
132+ echo "GOOGLE_CALENDAR_REDIRECT_URI=$(gcloud secrets versions access latest --secret='google-calendar-redirect-uri')" >> $NEW_ENV
133+ echo "OAUTH_REDIRECT_URI=$(gcloud secrets versions access latest --secret='oauth-redirect-uri')" >> $NEW_ENV
134+ echo "KAKAO_CLIENT_ID=$(gcloud secrets versions access latest --secret='kakao-client-id')" >> $NEW_ENV
135+ echo "KAKAO_CLIENT_SECRET=$(gcloud secrets versions access latest --secret='kakao-client-secret')" >> $NEW_ENV
136+ echo "KAKAO_API_KEY=$(gcloud secrets versions access latest --secret='kakao-api-key')" >> $NEW_ENV
137+ echo "ZOOM_ACCOUNT_ID=$(gcloud secrets versions access latest --secret='zoom-account-id')" >> $NEW_ENV
138+ echo "ZOOM_CLIENT_ID=$(gcloud secrets versions access latest --secret='zoom-client-id')" >> $NEW_ENV
139+ echo "ZOOM_CLIENT_SECRET=$(gcloud secrets versions access latest --secret='zoom-client-secret')" >> $NEW_ENV
140+ echo "GCP_IP=$(gcloud secrets versions access latest --secret='gcp-ip')" >> $NEW_ENV
141+ echo "FRONT_DOMAIN_A=$(gcloud secrets versions access latest --secret='front-domain-A')" >> $NEW_ENV
142+ echo "FRONT_DOMAIN_B=$(gcloud secrets versions access latest --secret='front-domain-B')" >> $NEW_ENV
143+ echo "FRONT_CALLBACK=$(gcloud secrets versions access latest --secret='front-callback')" >> $NEW_ENV
144+ echo "REDIS_HOST=$(gcloud secrets versions access latest --secret='redis-host')" >> $NEW_ENV
145+ echo "REDIS_PORT=$(gcloud secrets versions access latest --secret='redis-port')" >> $NEW_ENV
146+
147+ # 기존 .env 교체
148+ mv "$NEW_ENV" .env
141149
142- echo "Updated Secret Manager Values"
150+ echo "Updated Secret Manager Values successfully "
143151
144152 echo "Stopping existing containers..."
145153 sudo docker-compose down || true
@@ -178,4 +186,4 @@ jobs:
178186 echo "Deployment completed successfully"
179187 echo "Deployed commit: ${{ github.sha }}"
180188 echo "Repository: ${{ github.repository }}"
181- echo "Secret Manager values automatically updated"
189+ echo "Secret Manager values automatically updated"
0 commit comments