Skip to content

Commit 470a7ef

Browse files
authored
Update main.yml yml 파일 수정
1 parent d81a9dc commit 470a7ef

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

.github/workflows/main.yml

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Deploy to EC2
33
on:
44
push:
55
branches:
6-
- main # main 브랜치에 푸시될 때 트리거됨
6+
- main
77

88
jobs:
99
deploy:
@@ -15,36 +15,39 @@ jobs:
1515

1616
- name: Set up SSH key
1717
run: |
18-
# ~/.ssh 디렉토리 생성 (기본적으로 없을 수 있음)
1918
mkdir -p ~/.ssh
20-
# GitHub secrets에 저장된 PEM 파일을 생성
2119
echo "${{ secrets.EC2_SSH_PEM }}" > ~/.ssh/ec2.pem
22-
chmod 600 ~/.ssh/ec2.pem # SSH 키에 적절한 권한 부여
23-
# EC2 인스턴스의 호스트 키를 확인하지 않도록 설정 (보안을 강화하려면 이 부분을 수정)
20+
chmod 600 ~/.ssh/ec2.pem
2421
echo -e "Host *\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
2522
2623
- name: Set up environment variables
2724
run: |
2825
ssh -i ~/.ssh/ec2.pem ec2-user@${{ secrets.EC2_ADDRESS }} "bash -s" << 'EOF'
29-
# .env 파일이 존재하는지 확인
3026
if [ ! -f ~/moving-be/.env ]; then
31-
# .env 파일이 없으면 새로 생성
32-
touch ~/moving-be/.env
27+
touch ~/moving-be/.env
3328
fi
34-
35-
# GitHub Actions에서 전달된 .env 파일 내용 시크릿으로 가져오기
3629
echo "${{ secrets.ENV_FILE }}" > ~/moving-be/.env
37-
38-
# 파일 내용 확인 (선택 사항)
3930
cat ~/moving-be/.env
4031
EOF
4132
4233
- name: Deploy to EC2
4334
run: |
4435
ssh -i ~/.ssh/ec2.pem -T ec2-user@${{ secrets.EC2_ADDRESS }} << 'EOF'
4536
cd ~/moving-be
46-
git pull origin main # GitHub에서 최신 변경 사항을 pull
47-
npm install # 필요에 따라 의존성 설치
37+
git fetch origin main
38+
git reset --hard origin/main
39+
npm install
40+
npm audit fix --force
4841
npm run build
49-
pm2 start dist/app.js --name my-app || pm2 reload my-app -f # 서버 재시작 (pm2 또는 다른 방법으로)
42+
43+
# 클러스터 모드로 앱이 실행되어 있지 않다면 처음 실행
44+
if ! pm2 list | grep -q "my-app"; then
45+
pm2 start dist/app.js --name my-app -i max
46+
else
47+
# 무중단 배포를 위한 reload
48+
pm2 reload my-app --update-env
49+
fi
50+
51+
# 로그 확인
52+
pm2 logs my-app --lines 10
5053
EOF

0 commit comments

Comments
 (0)