[Github Actions] AWS python flask 프로젝트 자동 동기화

Puri·2022년 9월 21일
0

왜?

로컬로 작업하고 ssh 접속해서 git pull 해주는게 너무 귀찮았다..

방법

  1. git hub actions 탭에서 new workflow 작성
  • main.yml
# This is a basic workflow to help you get started with Actions

name: updateEC2

on:
  push:
    branches:
      - 'main' # 메인이 푸쉬되었을 때 동작

  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      
      - name: SSH commands using password
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.SERVER_SSH_HOST }} # 서버  ip주소
          username: ${{ secrets.SERVER_SSH_USERNAME }} # 서버 유저이름
          key: ${{ secrets.SERVER_SSH_KEY }} # AWS 연결 키
          script:
            ./update.sh # 서버에 있는 스크립트
  1. 서버에 업데이트 기능을 하는 스크립트 작성
  • update.sh
pkill -9 python
cd joonggo_world
git pull
nohup python app.py  > log.log 2>&1  &

수행하는 역할
1. 실행하는 파이썬 프로세스 종료
2. 프로젝트 폴더로 이동
3. git pull
4. nohup으로 파이썬 서버 동작

  1. 깃에 Secrets 등록

0개의 댓글