Panduan Lengkap Membangun Pipeline CI/CD dengan Claude Code
Panduan komprehensif tentang membangun pipeline CI/CD menggunakan Claude Code dengan contoh praktis dan best practices.
Efisiensi Pembangunan Pipeline CI/CD dengan Claude Code
File konfigurasi CI/CD memiliki banyak sintaks detail dan sering memakan waktu untuk trial and error. Dengan Claude Code, kamu bisa langsung generate pipeline yang sesuai dengan proyekmu dalam sekali jalan.
Workflow Dasar GitHub Actions
> Buatkan workflow GitHub Actions.
> - Jalankan lint, type check, dan test saat PR dibuat
> - Build dan deploy saat di-merge ke main
> - Gunakan Node.js 20 dan pnpm
> - Set up cache untuk mempercepat
# .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
Build dan Push Docker Image
> Buatkan workflow untuk build Docker image dan push
> ke GitHub Container Registry.
> Tag-nya pakai git tag dan commit 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
Untuk pembangunan environment Docker, dijelaskan secara detail di Panduan Integrasi Docker.
Integrasi E2E Testing
> Integrasikan E2E test Playwright ke CI/CD.
> Simpan screenshot saat test gagal.
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
Untuk gambaran keseluruhan strategi testing, lihat Panduan Lengkap Strategi Testing, dan untuk integrasi dengan Git workflow, lihat juga Otomatisasi Penuh Operasi Git.
Menambahkan Security Scan
> Tambahkan vulnerability scan dependency ke CI.
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx audit-ci --moderate
Detail security check dijelaskan di Otomatisasi Security Audit.
Summary
Dengan Claude Code, kamu bisa membangun pipeline CI/CD yang optimal untuk proyekmu dalam waktu singkat. Dengan memberikan instruksi yang jelas untuk setiap stage lint, testing, build, dan deploy, workflow yang siap produksi akan ter-generate.
Untuk detail GitHub Actions, lihat Dokumentasi Resmi GitHub Actions, dan untuk Claude Code, lihat Dokumentasi Resmi Anthropic.
Related Posts
Setup MCP Server Claude Code dan Use Case Praktis
Panduan lengkap tentang kemampuan MCP server Claude Code. Pelajari cara menghubungkan tool eksternal, mengonfigurasi server, dan contoh integrasi dunia nyata.
Menguasai Claude Code Hooks: Auto-Format, Auto-Test, dan Lainnya
Pelajari cara menyiapkan auto-formatting dan auto-testing dengan Claude Code hooks. Dilengkapi contoh konfigurasi praktis dan use case dunia nyata.
Panduan Lengkap Menulis CLAUDE.md: Best Practice untuk Konfigurasi Project
Panduan menyeluruh untuk menulis file CLAUDE.md yang efektif. Pelajari cara mengkomunikasikan tech stack, konvensi, dan struktur project untuk memaksimalkan kualitas output Claude Code.