🚀 [GitHub Actions CI - 7단계: 워크플로우 최종 완성 및 실전 팁]
7️⃣ 완성된 .github/workflows/checks.yml 구성
name: Code Quality Checks
on:
push:
branches: [main]
pull_request:
jobs:
ci:
runs-on: ubuntu-latest
services:
my-db:
image: postgres:14
env:
POSTGRES_USER: ${{ secrets.PG_USER }}
POSTGRES_PASSWORD: ${{ secrets.PG_PASSWORD }}
POSTGRES_DB: ${{ secrets.PG_NAME }}
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install black isort
- name: Check code formatting with isort
run: isort . --check --diff
- name: Check code formatting with black
run: black . --check
- name: Apply migrations
run: python manage.py migrate
- name: Run tests
run: python manage.py test
- name: Cleanup containers
run: docker compose down --volumes --remove-orphans
✅ 핵심 체크포인트
- Docker 내부 Postgres 서비스는 포트 매핑 없이 내부 네트워크로만 연결
- 코드 스타일 검사는 black과 isort로 정기적 자동화
- 마이그레이션과 테스트가 자동으로 실행되어 코드 변경 시 안정성 확보
- 민감 정보는 모두 GitHub Secrets로 안전하게 관리
- docker-compose 명령어 대신 docker compose로 최신 CLI 사용
💡 실무 팁
- 로컬에서 꼭 black .과 isort . 실행 후 커밋해 워크플로우 실패 방지
- GitHub Actions 로그를 꼼꼼히 확인해 문제 원인을 빠르게 파악
- 점진적으로 CD(지속적 배포)까지 자동화 확장 추천
- 필요 시 Slack, Email 연동해 빌드/배포 상태 실시간 알림 구성
🎯 마무리
이제 CI 구축은 완료!
프로젝트 안정성과 협업 효율성을 크게 높일 수 있습니다.
앞으로도 단계별 자동화와 테스트, 배포 파이프라인을 확장해보세요!
'프로젝트' 카테고리의 다른 글
📮 1. ERD(Entity Relationship Diagram) 작성하기 (0) | 2025.06.09 |
---|---|
📌 🚀 [GitHub Actions CI - 3단계: 로컬 환경 자동화 검사 스크립트 만들기 & Docker와 DB 호스트 이슈 해결법] (0) | 2025.06.06 |
🚀 [GitHub Actions로 CI 구성하기 - 단계별 완벽 정리] (0) | 2025.06.06 |
3️⃣ 슈퍼유저 생성 및 Django Admin 접속 (0) | 2025.06.06 |
2️⃣ Django 로컬 개발 환경 설정 및 실행 (0) | 2025.06.06 |