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

+ Recent posts