프로그래밍/python
파이썬 fast api 자동배포 스크립트 (deploy.sh)
콘솔워크
2023. 6. 12. 20:38
반응형
github에 push 후에
해당 정보를 pull 받고 바로 서버를 재기동 하는 script를 만들었다.
리눅스에 git이 설치되어있어야하고 git 전역 config에 미리 값이 등록되어 있어야한다.
touch .gitconfig
git config --global user.name [계정명]
git config --global user.email [계정이메일]
git config --global --list
git clone https://github.com/[github주소]/[appname-api]
username >> 계정 입력
Password >> 계정의 Settings >> Developer settings >> Personal access tokens의 토큰값 입력
github의 action 기능을 활용하면 push와 동시에 업데이트 되게도 할 수 있지만
개발, 운영을 따로따로 배포해야해서 그것까지 넣지는 않았다.
#!/bin/sh
echo "git pull and update start"
cd /home/ubuntu/appname-api
pm2 list
pm2 kill
sleep 3
git pull origin main
sleep 3
. venv/bin/activate
sleep 1
pm2 start "gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app" --name appname-api
sleep 1
반응형