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

2025. 6. 6. 18:11·프로젝트
목차
  1. 7️⃣ 완성된 .github/workflows/checks.yml 구성
  2. ✅ 핵심 체크포인트
  3. 💡 실무 팁
  4. 🎯 마무리

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

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.