CI/CD 파이프라인 구축 완전 가이드: Claude Code 활용
Claude Code로 GitHub Actions 기반 CI/CD 파이프라인을 구축하는 방법을 lint, 테스트, 빌드, 배포, 보안 스캔까지 예제로 정리했습니다.
Claude Code로 CI/CD 파이프라인 효율적으로 구축하기
CI/CD 설정 파일은 문법 디테일이 많아서 시행착오에 시간이 많이 걸리기 마련입니다. Claude Code를 활용하면 프로젝트에 맞는 파이프라인을 한 번에 생성할 수 있습니다.
GitHub Actions 기본 워크플로
> GitHub Actions 워크플로를 만들어줘.
> - PR이 생성되면 lint, 타입 체크, 테스트 실행
> - main에 머지되면 빌드 후 배포
> - Node.js 20, pnpm 사용
> - 캐시 설정으로 속도 개선
# .github/workflows/ci.yml
name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint
- name: Type Check
run: pnpm tsc --noEmit
- name: Test
run: pnpm test -- --coverage
- name: Upload Coverage
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: coverage
path: coverage/
deploy:
needs: lint-and-test
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm build
- name: Deploy to Vercel
uses: amondnet/vercel-action@v25
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
vercel-args: --prod
Docker 이미지 빌드 & 푸시
> Docker 이미지를 빌드해서 GitHub Container Registry에
> 푸시하는 워크플로를 만들어줘.
> 태그는 git 태그와 커밋 SHA로.
# .github/workflows/docker.yml
name: Docker Build
on:
push:
tags: ["v*"]
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/metadata-action@v5
id: meta
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=semver,pattern={{version}}
type=sha,prefix=
- uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max
Docker 환경 구성에 대해서는 Docker 환경 통합 가이드에서 자세히 설명하고 있습니다.
E2E 테스트 통합
> Playwright E2E 테스트를 CI/CD에 넣어줘.
> 테스트 실패 시 스크린샷도 저장하도록.
e2e-test:
needs: lint-and-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: npx playwright install --with-deps chromium
- name: Run E2E Tests
run: pnpm test:e2e
- uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
path: playwright-report/
retention-days: 7
테스트 전략 전반은 테스트 전략 완전 가이드, Git 워크플로와의 연동은 Git 작업 완전 자동화도 함께 참고해 보세요.
보안 스캔 추가
> 의존성 패키지 취약점 스캔을 CI에 추가해줘.
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx audit-ci --moderate
보안 점검의 상세한 내용은 보안 감사 자동화에서 다루고 있습니다.
정리
Claude Code를 활용하면 프로젝트에 최적화된 CI/CD 파이프라인을 짧은 시간에 구축할 수 있습니다. lint, 테스트, 빌드, 배포의 각 단계를 명확히 지시하면 실제 운영에 쓸 수 있는 워크플로가 생성됩니다.
GitHub Actions의 자세한 내용은 GitHub Actions 공식 문서, Claude Code에 대해서는 Anthropic 공식 문서를 참고하세요.
무료 PDF: 5분 완성 Claude Code 치트시트
이메일 주소만 등록하시면 A4 한 장짜리 치트시트 PDF를 즉시 보내드립니다.
개인정보는 엄격하게 관리하며 스팸은 보내지 않습니다.
이 글을 작성한 사람
Masa
Claude Code를 적극 활용하는 엔지니어. 10개 언어, 2,000페이지 이상의 테크 미디어 claudecode-lab.com을 운영 중.
관련 글
Claude Code/Codex 안전 Agent Harness 설계: 권한, 검증, 롤백
Claude Code와 Codex를 안전하게 운영하기 위한 Agent Harness를 권한 정책, 실행 계획, 검증, 복구 계층으로 설계합니다.
Claude Code 서브에이전트 활용 패턴 10선
Claude Code의 서브에이전트 기능을 활용하는 10가지 실전 패턴. 병렬 처리, 전문화, 컨텍스트 분리로 개발 속도를 두 배로 만드는 방법.
Claude Code Agent SDK 입문 ― 자율 에이전트를 빠르게 구축하는 방법
Claude Code Agent SDK로 자율형 AI 에이전트를 구축하는 방법을 해설합니다. 설정부터 도구 정의, 멀티스텝 실행까지 실전 코드와 함께 소개합니다.