Python으로 작성된 Django 애플리케이션 배포 가이드입니다.

준비 및 확인사항

Django 버전지원하는 Python 버전
Django 3.13.6, 3.7, 3.8, 3.9
Django 3.23.6, 3.7, 3.8, 3.9, 3.10
Django 4.03.8, 3.9, 3.10
Django 4.13.8, 3.9, 3.10, 3.11
Django 4.23.8, 3.9, 3.10, 3.11, 3.12
Django 5.03.10, 3.11, 3.12
Django 5.13.10, 3.11, 3.12
프로젝트 설정 파일(requirements.txt 등)에 명시된 Python 버전과 배포 설정 시 선택한 버전이 일치하지 않으면 빌드 및 런타임 오류가 발생할 수 있습니다.

템플릿과 저장소 선택

대시보드의 또는 ⌘ + K 로 생성되는 배포창에서 Python 템플릿을 선택하고, 이어지는 드롭다운 메뉴에서 연동된 GitHub 계정의 저장소를 선택하거나 Git URL 탭에서 Git 저장소 URL을 입력하세요.
Django의 경우 settings.py 에서 ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS 를 알맞게 설정해야 정상적으로 페이지가 로드됩니다.

배포 설정값 입력

다음의 각 항목에 서비스를 배포하기 위한 설정값을 입력하세요.
  • 버전
  • 환경 변수
  • 포트번호: 8000(기본값)
  • Start Command: python3 manage.py runserver 0:8000(기본값)
  • Health Check: 컨테이너 상태 검증 엔드포인트
  • Build Variables: 컨테이너 이미지 빌드 시 포함되어야 하는 변수
  • Embedded node.js: 프로젝트 내 빌드가 필요한 Node.js 버전
  • Install command: Python 패키지 설치 명령
  • Pre start Command: Start Command 실행 전 사전에 수행되어야 할 명령
  • Update strategy
    • Rolling Update: 새로운 버전의 서비스 배포 시점에 기존 파드 종료, 노드 가용자원 확보 필요
    • Recreate: 모든 서비스 종료후 새로운 버전의 서비스를 생성 및 구동하여 다운타임 발생
환경변수와 Pre Start Command를 다음과 같이 세팅하면 Super User를 생성할 수 있습니다.
[환경변수]
DJANGO_SUPERUSER_USERNAME - Django 슈퍼유저 username
DJANGO_SUPERUSER_PASSWORD - Django 슈퍼유저 password
DJANGO_SUPERUSER_EMAIL    - Django 슈퍼유저 email

[시작 명령 - Pre Start Command]
python3 manage.py makemigrations && python3 manage.py migrate && python3 manage.py createsuperuser --noinput

성능(리소스) 설정 및 배포

  • 리소스 유형 : 온디맨드 리소스와 스팟 리소스 중 선택
  • CPU : 서비스가 사용할 수 있는 vCPU 리소스의 최대값으로, ‘최소’ 선택 시 0.1 vCPU로 설정됩니다.
  • 메모리 : 서비스가 사용할 수 있는 메모리 리소스의 최대값
  • 동시실행(레플리카) : 설정한 수만큼 서비스가 수평확장되어 부하 분산 및 안정성 확보
  • 배포 : 배포하기 클릭
배포가 완료되면 프리뷰 도메인을 통해 브라우저로 웹 페이지를 조회하거나 API 툴을 사용해 요청을 보낼 수 있습니다.
리소스 제한으로 배포할 수 없는 경우 스페이스 및 리소스 관리 페이지를 참고해 스페이스에 리소스를 추가하세요.

Django Docs