사지방에서 웹 개발환경 구축하기 #7. 장고 공부 환경 만들기(4) sh로 서버 실행 자동화
Oct. 9, 2021, 1:28 p.m.
앞선 포스트로 사지방에서 장고 공부 환경을 구축했습니다. 이제 깃허브에서 작업을 한 후에 AWS 서버에 연결해서 git pull를 이용해 Ubuntu로 내려받아 서버를 실행하면 됩니다.
그런데 이 작업을 반복하려면 상당히 귀찮은데요, 매번 깃허브에서 코드를 고치고 pull 명령어를 입력하고 runserver 까지 하려면 너무 귀찮습니다. 그래서 이번 포스트는 사지방 웹 개발환경 구축 마지막 포스트로 sh 실행파일로 서버 실행 자동화하는 법을 포스팅 하겠습니다.
1. sh 실행파일이란?
sh 실행파일은 윈도우에서의 .bat 과 비슷한 파일입니다. sh 파일을 실행하기만 하면 지정된 명령어들을 연달아 알아서 실행해줍니다. 서버 실행 자동화를 위해서 sh 파일에 들어갈 명령들은 아래와 같습니다.
- 깃허브에서 수정사항 내려받기
- 장고 서버 실행하기
이렇게 하면 하나의 스크립트만 실행하면 깃허브에서 수정한 내용을 다운받고 서버 실행까지 한번에 할 수 있습니다. 그러면 바로 브라우저에서 그 결과를 확인해 볼 수 있겠죠?
2. sh 파일 생성하기
파일을 생성하는 법은 2가지입니다. Ubuntu 콘솔에서 vim 에디터를 이용해서 생성하거나 깃허브 연동을 성공적으로 했다면 github에서 생성한다음 pull로 다운로드 받는 방법이 있습니다. 이번에는 간단하게 vim 에디터를 이용해서 루트 디렉터리에 sh 파일을 만들겠습니다. 아래와 같이 입력해서 vim 에디터를 열어주세요.
~$ vim server.sh
그러면 에디터 화면이 열리는데요, i를 눌러 INSERT 모드로 진입 한 후 아래의 코드를 작성해주세요.
cd /home/ubuntu/test/testsite;
git pull origin master;
python3 manage.py makemigrations;
python3 manage.py migrate;
python3 manage.py runserver 0:8000
작성이 완료되었으면 ESC를 누르고 :wq + Enter를 눌러 저장하세요.
명령어를 보면 먼저 장고 프로젝트 폴더로 이동한 후 깃허브에서 pull을 하고 장고에서 migrate를 진행합니다. 이는 작업중에 장고 모델파일을 수정하거나 추가했을 때 필요한 작업입니다. 마지막으로 서버를 실행해 줍니다.
3. sh 파일 실행하기
이제 파일을 실행해 보겠습니다. 아래의 명령어를 입력하세요.
~$ sh server.sh
작업이 진행됩니다.
From github.com:jellyho/scaling-potato
* branch master -> FETCH_HEAD
Already up to date.
No changes detected
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
October 09, 2021 - 04:24:17
Django version 2.2.12, using settings 'testsite.settings'
Starting development server at http://0:8000/
Quit the server with CONTROL-C.
축하합니다. 작업이 순서대로 잘 진행이 되었군요!
이렇게 해서 사지방 웹 개발환경 구축 포스팅을 마치겠습니다. 군 생활 하면서 웹 개발 공부도 하고 자신만의 웹사이트를 만들어 포트폴리오로도 활용할 수 있기 바랍니다. 안녕~
Ubuntu sh