개발/대시보드

웹대시보드 - github에 actions 을 추가하여 자동으로 ec2서버에 pull하기

웅'jk 2022. 12. 20. 11:13

github에 파일이 추가,삭제,변경 될때마다 ec2 서버에서 pull하여 변경점을 바뀌게끔 셋팅하기 위해

 

github에 actions을 추가해보자.

 

github - 내가 원하는 repository - settings - secrets -actions으로 들어간다.

 그럼 위화면에 보이는 것 처럼 

HOST : 여러분들의 ec2 주소

SSH_PRIVATE_KEY : 여러분들의 ppk -> pem 으로 바꾼 소스 내용을 복사한다

USER : ec2-user 

 

를 입력하면 된다.

 

여기서 SSH_PRIVATE_KEY 에 PPK -> PEM 은 

 

puttygen 에서 설정하면 된다.

먼저 puttygen을 실행한다

위에 메뉴에서 conversions을 누른다.

여러분들의 키를 넣으시고 다시 conversions을 누른다

위 처럼 나오면 확인을 누르시는데 확장자를 pem으로 저장하면 된다.

그다음 pem 파일을 실행하여 안에 있는 소스코드를 SSH_PRIVATE_KEY에 넣어주면 된다.

 

여기까지 하셨으면 이제는 workflows에 추가하면 된다.

github에 actions을 누른다

set up a workflow yourself 을 눌러 다음과 같은 소스코드를 넣어준다.

name: ec2 deploy
on:
  push:
    branches:
      - main

jobs:
  SSH:
    runs-on: ubuntu-latest
  
    steps:
      - uses: actions/checkout@v3
      - name: ssh to ec2
        uses: appleboy/ssh-action@master
        with:
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USER }}
          script: |
            cd streamlit_car_price_app
            git pull

마지막 부분 script에는 ec2에서 기존에 여러분이 pull 하던 코드를 입력하시면 됩니다.

 

저는 streamlit_car_price_app 이라는 repository 로 하였습니다.

 

이제 actions 에서 만드신 main.yml 을 눌러 정상적으로 작동하는지 확인합니다.