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 공식 문서를 참고하세요.
Claude Code 워크플로우를 한 단계 업그레이드하세요
지금 바로 Claude Code에 복사해 쓸 수 있는 검증된 프롬프트 템플릿 50선.
이 글을 작성한 사람
Masa
Claude Code를 적극 활용하는 엔지니어. 10개 언어, 2,000페이지 이상의 테크 미디어 claudecode-lab.com을 운영 중.
관련 글
Claude Code Agent SDK 입문 ― 자율 에이전트를 빠르게 구축하는 방법
Claude Code Agent SDK로 자율형 AI 에이전트를 구축하는 방법을 해설합니다. 설정부터 도구 정의, 멀티스텝 실행까지 실전 코드와 함께 소개합니다.
Claude Code 컨텍스트 관리 테크닉 완전 가이드
Claude Code의 컨텍스트 윈도우를 최대한 활용하는 실전 테크닉을 해설합니다. 토큰 절약, 대화 분할, CLAUDE.md 활용법까지 소개합니다.
Claude Code MCP Server 설정 및 실전 활용 가이드
Claude Code의 MCP Server 기능을 종합적으로 소개합니다. 외부 도구 연결, 서버 설정, 실전 통합 사례까지 한 번에 알아보세요.