Skip to content

Commit 0446b0c

Browse files
committed
chore[deploy]: 배포용 env파일 생성
1 parent dcebe39 commit 0446b0c

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

.github/workflows/CI-CD_Pipeline.yml

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,22 +185,54 @@ jobs:
185185
deploy:
186186
needs: docker-build
187187
runs-on: ubuntu-latest
188+
if: github.ref == 'refs/heads/main' # ✅ main 브랜치일 때만 실행
188189
env:
189190
DOCKER_IMAGE_NAME: balaw
190191
steps:
192+
- name: Create prod .env file
193+
run: |
194+
cat > .env << 'EOF'
195+
SPRING_PROFILES_ACTIVE=prod
196+
PROD_DATASOURCE_URL=jdbc:mysql://mysql_1:3306/${{ secrets.DB_NAME }}
197+
PROD_DATASOURCE_USERNAME=${{ secrets.DB_USER }}
198+
PROD_DATASOURCE_PASSWORD=${{ secrets.DB_PASSWORD }}
199+
200+
PROD_REDIS_HOST=redis_1
201+
PROD_REDIS_PORT=6379
202+
PROD_REDIS_PASSWORD=${{ secrets.REDIS_PASSWORD }}
203+
EOF
204+
191205
- name: AWS SSM Send-Command
192206
uses: peterkimzz/aws-ssm-send-command@master
193207
id: ssm
194208
with:
195209
aws-region: ${{ secrets.AWS_REGION }}
196210
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
197211
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
198-
instance-ids: "i-006c2e31391fac356"
212+
instance-ids: "i-094fd5f8988b7330b"
199213
working-directory: /
200214
comment: Deploy
201215
command: |
216+
# EC2 내부에서 prod.env 파일 생성
217+
cat > /home/ec2-user/prod.env << 'EOF'
218+
SPRING_PROFILES_ACTIVE=prod
219+
220+
PROD_DATASOURCE_URL=jdbc:mysql://mysql_1:3306/${{ secrets.DB_NAME }}
221+
PROD_DATASOURCE_USERNAME=${{ secrets.DB_USER }}
222+
PROD_DATASOURCE_PASSWORD=${{ secrets.DB_PASSWORD }}
223+
224+
PROD_REDIS_HOST=redis_1
225+
PROD_REDIS_PORT=6379
226+
PROD_REDIS_PASSWORD=${{ secrets.REDIS_PASSWORD }}
227+
EOF
228+
229+
# 최신 이미지 pull & 컨테이너 실행
202230
docker pull ghcr.io/doohyojeong/${{ env.DOCKER_IMAGE_NAME }}:latest
203231
docker stop app1 2>/dev/null
204232
docker rm app1 2>/dev/null
205-
docker run -d --name app1 -p 8080:8080 ghcr.io/doohyojeong/${{ env.DOCKER_IMAGE_NAME }}:latest
206-
docker rmi $(docker images -f "dangling=true" -q)
233+
docker run --env-file /home/ec2-user/prod.env -d --name app1 -p 8080:8080 \
234+
ghcr.io/doohyojeong/${{ env.DOCKER_IMAGE_NAME }}:latest
235+
236+
# dangling image 정리 + .env 삭제
237+
docker rmi $(docker images -f "dangling=true" -q)
238+
rm -f /home/ec2-user/prod.env

0 commit comments

Comments
 (0)