항해99_6기_TIL

항해99 👩‍💻74일차 TIL

merrytang 2022. 5. 19. 20:06

⭐ Final Project ⭐

GithubAction을 이용한 재배포 (Node.js)

깃허브에서 secreteKey를 생성해준다.

- .env의 파일안에 시크릿키들은 FileZila로 옮겨줬기 때문에 따로 만들어주지 않았다.

 

1. Settings -> Secrets의 Actions -> 우측 상단의 New repository secret 클릭 

2. 아래 화면에서 시크릿키와 값을 입력해주면 된다. 

 

시크릿키 리스트

ssh -i <AWS 시크릿키> ubuntu@<AWS퍼블릭주소 ex)12.23.34.45>

 

HOST : @뒤에 AWS퍼블릭주소 

USERNAME : @앞에 ubuntu

PASSWORD : AWS의 .pem 키를 브라우저에 드로그엔 드랍 시킨 후 텍스트가 나오면 복붙해서 붙여준다. 

PORT : 22 (AWS에서 열어준 포트)

 

깃허브액션 코드 

name: CI-CD
on:
  push:
    branches:
      - main   
  pull_request:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-18.04
    steps:
      - name: Deploy
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          key: ${{ secrets.PASSWORD }}
          port: ${{ secrets.PORT }}
          script: |
            cd /home/ubuntu/MyProject
            git config --global --add safe.directory /home/ubuntu/MyProject
            sudo git pull
            sudo npm update
            sudo npm install
            sudo pm2 reload all

 

위와같은 코드로 SSH로 EC2인스턴스로 접속한 후, git pull 하고 최신 코드를 pm2로 재배포하도록 설정해주었다.