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. 실무 적용 흐름
- 개발자가 main 브랜치에 push
- GitHub Actions가 자동 실행
- 빌드 & 테스트 진행
- 성공 시 배포까지 자동 완료
⚡ 5. 실무 팁
- ✅ Secrets 활용 → API Key, 배포 토큰 보안 관리
- ✅ 브랜치별 다른 워크플로우 구성 (dev, staging, production)
- ✅ 실패 시 Slack/Discord 알림 연동 가능
- ✅ 모노레포 프로젝트 → matrix 전략으로 병렬 빌드
📝 마무리 정리
- GitHub Actions = GitHub 내장 CI/CD 자동화 도구
- CI → 테스트 & 빌드, CD → 배포 자동화
- 실무에서는 테스트 → 빌드 → 배포 파이프라인을 한 번에 연결
👉 GitHub Actions를 도입하면 배포 속도와 안정성이 획기적으로 개선됩니다.
반응형