Git

GitHub Actions ✅ CI/CD 자동화 배포 워크플로우 만들기

jonbeo 2025. 11. 7. 09:11
반응형

 

 

**CI/CD (Continuous Integration / Continuous Deployment)**는

개발자가 코드를 push하면 자동으로 빌드/테스트/배포까지 처리하는 자동화 프로세스입니다.
GitHub Actions는 GitHub에서 제공하는 무료 워크플로우 도구로,
코드 변경 → 테스트 → 빌드 → 배포 과정을 자동화할 수 있습니다.


📌 1. GitHub Actions 기본 구조

프로젝트 루트에 .github/workflows/ci.yml 파일 생성

 
name: CI Pipeline

on:
  push:
    branches: [ main ] # main 브랜치 푸시 시 실행

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: "18"

      - name: Install Dependencies
        run: npm install

      - name: Run Tests
        run: npm test

 

📌 설명:

  • on.push.branches → main 브랜치 푸시 시 실행
  • jobs.build.steps → 실행할 단계 정의

📌 2. CI (지속적 통합) 파이프라인 예시

  • 코드 푸시 시 자동으로 테스트 실행
  • ESLint, Prettier 검사 포함 가능
 
- name: Lint
  run: npm run lint

📌 3. CD (지속적 배포) 파이프라인 예시

Vercel, Netlify, AWS, Docker 배포까지 자동화 가능

 

예: Vercel 배포

 
- name: Deploy to Vercel
  run: vercel --token=${{ secrets.VERCEL_TOKEN }} --prod

 

📌 secrets.VERCEL_TOKEN은 GitHub Repository Settings → Secrets에서 등록


📌 4. 실무 적용 흐름

  1. 개발자가 main 브랜치에 push
  2. GitHub Actions가 자동 실행
  3. 빌드 & 테스트 진행
  4. 성공 시 배포까지 자동 완료

⚡ 5. 실무 팁

  • Secrets 활용 → API Key, 배포 토큰 보안 관리
  • ✅ 브랜치별 다른 워크플로우 구성 (dev, staging, production)
  • ✅ 실패 시 Slack/Discord 알림 연동 가능
  • ✅ 모노레포 프로젝트 → matrix 전략으로 병렬 빌드

📝 마무리 정리

  • GitHub Actions = GitHub 내장 CI/CD 자동화 도구
  • CI → 테스트 & 빌드, CD → 배포 자동화
  • 실무에서는 테스트 → 빌드 → 배포 파이프라인을 한 번에 연결

👉 GitHub Actions를 도입하면 배포 속도와 안정성이 획기적으로 개선됩니다.

반응형