반응형

**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를 도입하면 배포 속도와 안정성이 획기적으로 개선됩니다.
반응형
'Git' 카테고리의 다른 글
| Git ✅ 협업에서 자주 쓰는 rebase, cherry-pick, stash (0) | 2025.10.20 |
|---|---|
| Git 브랜치 전략 완벽 비교! Git Flow vs GitHub Flow 어떤 걸 선택해야 할까? (0) | 2025.10.08 |
| Git 브랜치 전략 – Git Flow vs Trunk Based 차이와 선택 가이드 (0) | 2025.10.01 |
| GitHub Actions 완전 기초! 자동화부터 배포까지 한눈에 배우기 (0) | 2025.07.15 |
| Git rebase, 이렇게 이해하면 쉽다! merge와의 차이점과 시각적 흐름 정리 (0) | 2025.07.14 |