Docker Compose와 GitHub Actions를 활용한 안전하고 자동화된 배포 파이프라인 구축

최근 프로젝트에서 Django 애플리케이션을 Docker로 컨테이너화하고, GitHub Actions와 Docker Compose를 결합해 운영 배포 파이프라인 자동화를 구성했다. 이 과정에서 겪었던 시행착오와 최종 구성을 정리해본다. Dockerfile 하나로 다양한 프로세스 관리하기 애플리케이션에는 웹 서버(Daphne), Celery, Dramatiq, MQTT Subscriber 등 다양한 백그라운드 프로세스가 있었지만, 공통적으로 사용하는 코드베이스는 동일했다.그래서 Dockerfile을 하나로 통합하고, 실행 커맨드만 docker 더보기…

Django Timezone 시간대를 다루는 방법

Django Web Server on Ubuntu 20.04에 이어 오랜만에 Django 관련 정확히는 Django Timezone 에 대한 내용입니다. Python datetime을 사용할 때 Django Timezone 문제를 어떻게 쉽게 해결할 수 있을까요? Django Model은 DateTimeField라는 기본 필드를 제공하고 있습니다. Django를 사용하기만 하면 DateTimeField를 이용하여 날짜 또는 시간을 이용하여 Filtering, Aggregation 과 같은 DB의 편리하고 더보기…

Django DB 로 MySQL 도커 컨테이너 사용하기

Django DB 로 MySQL 도커 컨테이너 를 사용하는 이유 Django DB 로 MySQL 도커 컨테이너 를 사용하면 향후 DB를 scale up 하거나 DB 서버를 이전하기에 편리합니다. MySQL DB 를 도커 컨테이너 로 구동 도커 설치 도커 설치는 이전 글에 기술했던 Docker Installation 부분과 동일합니다. 패키지 설치 GPG 키를 저장소에 추가 더보기…

Django Web Server on Ubuntu 20.04 example

Django web server 를 구축해 보는 예제입니다. 가장 단순한 형태의 REST API 를 제공하는 예제를 구현해 보는 과정입니다. 구축 환경 OS Ubuntu 20.04 Python Python 3.8.5 Django Django 3.1.3 기타 python project django rest framework Python Installs Packages (pip) 설치 Django 설치 Django REST framework 설치 Django REST framework는 api 더보기…