36 스크립트로 서버 재실행 하기

36.1 스크립트 만들기

개발 진행하면서 소스를 수정하고 반영하려면
로컬 환경에서 작업하고
원격 저장소에 올리고
서버에서 내려받고
프로세스를 죽이고
서버를 재시작 해야 합니다.

반복되는 명령을 실행하는 명령을
어느정도 줄이기 위해 스크립트를 작성하겠습니다.

일단 git pull 할때 마다 계정 과 비밀번호를 매번 입력하는 부분을 없애도록 하겠습니다.

1
git config credential.helper store --global

모든 프로젝트에 계정과 비밀번호를 물어보지 않도록 적용합니다.

위 명령어를 실행하고
로컬에서 아무파일이 수정하고 git push합니다.

처음 git pull 할때는 비밀번호와 계정을 물어봅니다.

다시 한번 로컬에서 파일 수정하고 git push 합니다.
이제는 git pull 시 계정과 비밀번호를 물어보지 않습니다.

36.2 스크립트 만들기 - start

bin 디렉토리에 start 파일을 생성하겠습니다.
start 파일에 아래 내용은 상황에 맞게 수정하시면 됩니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
mkdir bin

cd bin

cat > start

#!/bin/sh
workon pythonblog_env
echo "############# WORKON OK #############"
git pull
echo "############# GIT OK #############"
python /usr/local/share/pythonblog/manage_r.py makemigrations
echo "############# makemigrations OK #############"
python /usr/local/share/pythonblog/manage_r.py migrate
echo "############# migrate OK #############"
python /usr/local/share/pythonblog/manage_r.py collectstatic --noinput
echo "############# collectstatic OK #############"
killall -9 uwsgi
echo "############# KILL OK #############"
uwsgi --ini /usr/local/share/pythonblog/pythonblog_uwsgi.ini
echo "############# START OK #############"
tail -111f /usr/local/share/pythonblog/logs/uwsgi.log

36.3 스크립트 파일로 서버 재실행

스크립트를 실행해봅니다.

정상동작을 유무를 확인하세요.^__^

1
source start