Skip to content

Update main.yml

Update main.yml #3

Workflow file for this run

name: Deploy to EC2
on:
push:
branches:
- main # main 브랜치에 푸시될 때 트리거됨
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up SSH key
run: |
# ~/.ssh 디렉토리 생성 (기본적으로 없을 수 있음)
mkdir -p ~/.ssh
# GitHub secrets에 저장된 PEM 파일을 생성
echo "${{ secrets.EC2_SSH_PEM }}" > ~/.ssh/ec2.pem
chmod 600 ~/.ssh/ec2.pem # SSH 키에 적절한 권한 부여
# EC2 인스턴스의 호스트 키를 확인하지 않도록 설정 (보안을 강화하려면 이 부분을 수정)
echo -e "Host *\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- name: Deploy to EC2
run: |
ssh -i ~/.ssh/ec2.pem ec2-user@YOUR_EC2_PUBLIC_IP << 'EOF'
cd ~/moving-be
git pull origin main # GitHub에서 최신 변경 사항을 pull
npm install # 필요에 따라 의존성 설치
npm run build
pm2 restart dist/app.js # 서버 재시작 (pm2 또는 다른 방법으로)
EOF