웹대시보드 - github에 actions 을 추가하여 자동으로 ec2서버에 pull하기
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 을 눌러 정상적으로 작동하는지 확인합니다.