name: Deploy to EC2
on:
push:
branches:
- main
jobs:
Deploy:
runs-on: ubuntu-latest
steps:
- name: SSH로 EC2에 접속하기
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script_stop: true
script: |
cd /home/ubuntu/nestjs-gymlog
git pull origin main
npm i
sudo npm run build
sudo pm2 kill
sudo npm run start:prod --name "backend-server"
uses: appleboy/ssh-action@v1.0.3 아래에 아래 코드를 추가
uses: appleboy/ssh-action@v1.0.3
env:
ENV: ${{secrets.ENV}}
with
envs: ENV
- git hub secrets 메뉴에서 ENV 생성후 필요한 값 입력하면 해당 값들이 불려져 온다.
- envs: ENV 는 받아온 env 를 아래의 스크립트에서 ENV 로 사용하겠다는 의미
아래의 script: 에 아래 코드 추가
rm -rf .env
echo "$ENV" > .env
여기서 꼭 .env 를 안쓰고 자신이 설정한 .env 파일명을 쓰면 된다.
'서버 & 웹 개발 노트 > CI CD' 카테고리의 다른 글
[ CI/CD] 테스트를 거친 후에 배포하는 방법 (0) | 2024.08.28 |
---|---|
[ CI/CD ] 에러 ssh: handshake failed (0) | 2024.08.21 |
CI/CD 구축 툴 Github Actions (0) | 2024.08.17 |
CI/CD 란? (0) | 2024.08.17 |