The 완전 가이드 to Building CI/CD Pipelines: Claude Code 활용 가이드
A comprehensive guide to building ci/cd pipelines: Claude Code 활용 with practical examples and best practices.
CI/CD파이프라인구축をClaude Code로효율화
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공식 문서를 참고하세요.
Related Posts
Claude Code MCP Server 설정 및 실전 활용 가이드
Claude Code의 MCP Server 기능을 종합적으로 소개합니다. 외부 도구 연결, 서버 설정, 실전 통합 사례까지 한 번에 알아보세요.
Claude Code Hooks 완전 정복: 자동 포맷팅, 자동 테스트 설정법
Claude Code Hooks로 자동 포맷팅과 자동 테스트를 설정하는 방법을 알아봅니다. 실용적인 설정 예제와 실전 활용 사례를 포함합니다.
CLAUDE.md 작성 완벽 가이드: 프로젝트 설정 베스트 프랙티스
효과적인 CLAUDE.md 파일 작성법을 상세히 소개합니다. 기술 스택, 컨벤션, 프로젝트 구조를 Claude Code에 전달하여 출력 품질을 극대화하세요.