🚀 [GitHub Actions CI - 2단계: 워크플로우 최종 완성 및 실전 팁]

2025. 6. 6. 18:11·프로젝트

🚀 [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
'프로젝트' 카테고리의 다른 글
  • 📮 1. ERD(Entity Relationship Diagram) 작성하기
  • 📌 🚀 [GitHub Actions CI - 3단계: 로컬 환경 자동화 검사 스크립트 만들기 & Docker와 DB 호스트 이슈 해결법]
  • 🚀 [GitHub Actions로 CI 구성하기 - 단계별 완벽 정리]
  • 3️⃣ 슈퍼유저 생성 및 Django Admin 접속
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    global politics
    chatgpterror
    chinanightlife
    basalcellcarcinoma
    life reflection
    gpterror
    youngprofessionals
    뷔
    hotcoffeecase
    btsjungkook
    smartphonedurability
    lawsuitculture
    trumpmuskclash
    bts
    RM
    titaniumcase
    urbantrends
    college reunions
    livebroadcast
    btscomeback
    btsreunion
    classaction
    newpoliticalparty
    homebartrend
    americanlaw
    americaparty
    self-growth
    travel ban
    remittance
    btsdischarge
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
🚀 [GitHub Actions CI - 2단계: 워크플로우 최종 완성 및 실전 팁]
상단으로

티스토리툴바