스포캔 기술 구축: 제2부
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Django 프로젝트 및 Docker 기반 배포를 수행하는 개발자
- 프로젝트 구조 정리와 테스트 관리에 관심 있는 중간 이상 개발자
핵심 요약
- src 디렉토리는 Django 프로젝트(
django_project
), Docker 구성 파일(docker/
), 환경 변수 파일(envs/
)을 담고 있음 - tests/ 디렉토리는 unit, integration, regression 등 테스트 범주별 구조화로 테스트 실행 범위를 명확히 함
- pyproject.toml 파일은 의존성 관리와 tool 설정을 통합하여 추가 파일 생성을 최소화함
섹션별 세부 요약
1. 루트 디렉토리 구성
.gitignore
,LICENSE
,README.md
,pyproject.toml
등 기본 git 설정 파일 포함pyproject.toml
은 의존성과 tool 설정을 통합하여 requirements.txt 대체.dockerignore
과.gitignore
은 필요 없는 파일 제외를 위한 설정
2. src 디렉토리 구조
- django_project
core/
: 프로젝트 레벨의 핵심 로직web/
: Django 앱 관련 코드tests/
:unit/
: 단위 테스트integration/
: 통합 테스트regression/
: 회귀 테스트manage.py
: Django 프로젝트 실행 파일
3. Docker 및 환경 설정
docker/
디렉토리:Dockerfile
,docker-compose.yaml
,.dockerignore
포함envs/
디렉토리:.env.template
,.env.local
등 환경 변수 파일 포함- .env 파일은 대부분 소스 제어에서 제외됨
결론
- 프로젝트 구조를 명확히 분리하여 테스트 범위별 실행이 가능하도록 설계
- Dockerfile과 환경 변수 분리로 배포 일관성 유지
- pyproject.toml을 통해 의존성 관리와 tool 설정 통합으로 프로젝트 설정 간소화