언제 쓸지 모르겠지만...깃 설정과 heroku 디플로이

Computer 비관심/Django|2017. 12. 2. 18:42
반응형

장고걸즈와 헤로쿠 사이트를 참조하면 어렵지 않다.


로컬/프로덕션 설정 (옜날 방식- 지금 장고 걸즈에 나온게 더 쉬운듯) 

세팅을 local environment와 production environment 로 나눈다.

1. 프로젝트에 settings 폴더를 만든 뒤 

그 안에 

__init__.py (모듈을 만들기 위해)

local.py

production.py

넣는다.

 

2. 원래 settings.py 를 old_settings.py로 바꾼뒤 안에 있는 내용을 production.py와 local.py에 넣는다.

3. production.py 파일에 들어가 DEBUG = False 로 BASE_DIR = os.path.dirname(os.path.dir(__file__))

4. settings/__innit__.py에서 

from .production import *

try:

from .local import * #로컬에서는 사용/ 프로덕션에서는 사용안함 gitignore함

except:

pass

 

디플로이

0. 헤로쿠cli 설치

​1. .gitignore 파일 생성, 아래 내용 추가 

venv

*.pyc

staticfiles

.env

config/settings/local.py

 

2. git init 폴더를 깃에 등록 (* 등록을 지우고 싶으면 del/f .git )

3. git add --all 스테이지에 올림

4. git commit -m"커밋메시지" 커밋함

5. heroku login 로그인 되어있을시 생략함

6. heroku create 사이트이름 -> https://사이트이름.herokuapp.com 이런 형식으로 생성됨

7. git push heroku master ※에러시 heroku config:set DISABLE_COLLECTSTATIC=1 을 한 뒤 다시 PUSH 시도 

8. heroku open

9. heroku run bash 나가기 exit;

10. heroku logs



바뀐거 수정할 때

​git add --all 스테이지에 올림 

git commit -m"" 커밋

git push heroku master

 

안될때, 장고걸즈 참조 https://djangogirls.gitbooks.io/django-girls-tutorial-extensions/heroku/

mysite/wsgi.py에 아래 내용 추가

from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)


로컬테스트

1. pip install gunicorn

2. pip freeze > requriements.txt

3. procfile 파일을 생성한 후 내용으로 web: gunicorn config(프로젝트 이름).wsgi --log-file- 을 넣는다.

4. 윈도우에서 실행해 보기 위해서는 Procfile.windows 파일을 만든 뒤 web:python manage.py runserver 0.0.0.0:5000 (참조 https://devcenter.heroku.com/articles/getting-started-with-python#define-a-procfile)

5. heroku local -f Procfile.windows

 

채널스 사용시 중요한 사항

1. 헤로쿠는 whitenoise를 써야함

2. 장고걸즈에 runtime.txt 버전 확인

3. 레디스를 사용하지 않을것이면 Procfile에 web:python mange.py runserver "0000:$port"로 설정

 

즉 장고걸즈에서 올리는 방법에 프록파일만 web:python mange.py runserver "0.0.0.:$port"로 설정하면 채널즈를 사용할 수 있다.

댓글()