피드로 돌아가기
Stop Wasting Hours: The Production-Ready Laravel 12 + Docker Starter Kit (CI/CD Included)
Dev.toDev.to
DevOps

Multi-stage build 기반 Laravel 12 배포 자동화 스택 구축

Stop Wasting Hours: The Production-Ready Laravel 12 + Docker Starter Kit (CI/CD Included)

Cristian Rodriguez2026년 5월 24일1intermediate

Context

로컬 개발 환경 중심의 Docker 설정으로 인한 프로덕션 환경의 권한 오류 및 성능 저하 발생. Nginx, PHP-FPM, Supervisor 등 개별 컴포넌트의 수동 설정에 따른 DevOps 공수 증가 및 휴먼 에러 위험 상존.

Technical Solution

  • Multi-stage Dockerfile 도입을 통한 빌드 아티팩트 분리 및 최종 이미지 경량화
  • Supervisor 통합 설정을 통한 queue:work 및 Task Scheduler의 프로세스 생명주기 관리 자동화
  • Production-ready Nginx 설정을 통한 Security headers 적용 및 Gzip 압축으로 네트워크 오버헤드 감소
  • GitHub Actions 기반의 Pest/PHPUnit 테스트, Pint 스타일 체크, Larastan 정적 분석을 포함한 CI/CD 파이프라인 구축
  • .env 기반 환경 변수 분리를 통한 환경 간 설정 일관성 확보

1. Dockerfile 작성 시 Multi-stage build를 적용하여 런타임 이미지 크기 최소화 여부 확인

2. Laravel 큐 워커와 스케줄러 관리를 위한 Supervisor 설정 자동화 검토

3. 정적 분석(Larastan)과 코드 스타일(Pint) 체크를 CI 단계에 강제하여 코드 퀄리티 유지

원문 읽기