Claude Code untuk GitLab CI/CD saat ini dalam beta. Fitur dan fungsionalitas dapat berkembang saat kami menyempurnakan pengalaman.Integrasi ini dikelola oleh GitLab. Untuk dukungan, lihat masalah GitLab berikut.
Integrasi ini dibangun di atas Claude Code CLI dan SDK, memungkinkan penggunaan Claude secara terprogram dalam pekerjaan CI/CD Anda dan alur kerja otomasi khusus.
Mengapa menggunakan Claude Code dengan GitLab?
- Pembuatan MR instan: Jelaskan apa yang Anda butuhkan, dan Claude mengusulkan MR lengkap dengan perubahan dan penjelasan
- Implementasi otomatis: Ubah masalah menjadi kode yang berfungsi dengan satu perintah atau penyebutan
- Menyadari proyek: Claude mengikuti panduan
CLAUDE.mdAnda dan pola kode yang ada - Penyiapan sederhana: Tambahkan satu pekerjaan ke
.gitlab-ci.ymldan variabel CI/CD yang disembunyikan - Siap untuk perusahaan: Pilih Claude API, AWS Bedrock, atau Google Vertex AI untuk memenuhi kebutuhan residensi data dan pengadaan
- Aman secara default: Berjalan di runner GitLab Anda dengan perlindungan cabang dan persetujuan Anda
Cara kerjanya
Claude Code menggunakan GitLab CI/CD untuk menjalankan tugas AI dalam pekerjaan terisolasi dan melakukan komit hasil kembali melalui MR:-
Orkestrasi berbasis peristiwa: GitLab mendengarkan pemicu pilihan Anda (misalnya, komentar yang menyebutkan
@claudedalam masalah, MR, atau utas ulasan). Pekerjaan mengumpulkan konteks dari utas dan repositori, membangun prompt dari input tersebut, dan menjalankan Claude Code. -
Abstraksi penyedia: Gunakan penyedia yang sesuai dengan lingkungan Anda:
- Claude API (SaaS)
- AWS Bedrock (akses berbasis IAM, opsi lintas wilayah)
- Google Vertex AI (asli GCP, Workload Identity Federation)
- Eksekusi terisolasi: Setiap interaksi berjalan dalam kontainer dengan aturan jaringan dan sistem file yang ketat. Claude Code memberlakukan izin berskop ruang kerja untuk membatasi penulisan. Setiap perubahan mengalir melalui MR sehingga pengulas melihat diff dan persetujuan masih berlaku.
Apa yang dapat dilakukan Claude?
Claude Code memungkinkan alur kerja CI/CD yang kuat yang mengubah cara Anda bekerja dengan kode:- Buat dan perbarui MR dari deskripsi masalah atau komentar
- Analisis regresi kinerja dan usulkan optimisasi
- Implementasikan fitur langsung di cabang, kemudian buka MR
- Perbaiki bug dan regresi yang diidentifikasi oleh tes atau komentar
- Merespons komentar lanjutan untuk mengulangi perubahan yang diminta
Penyiapan
Penyiapan cepat
Cara tercepat untuk memulai adalah menambahkan pekerjaan minimal ke.gitlab-ci.yml Anda dan menetapkan kunci API Anda sebagai variabel yang disembunyikan.
-
Tambahkan variabel CI/CD yang disembunyikan
- Buka Settings → CI/CD → Variables
- Tambahkan
ANTHROPIC_API_KEY(disembunyikan, dilindungi sesuai kebutuhan)
-
Tambahkan pekerjaan Claude ke
.gitlab-ci.yml
ANTHROPIC_API_KEY Anda, uji dengan menjalankan pekerjaan secara manual dari CI/CD → Pipelines, atau picu dari MR untuk membiarkan Claude mengusulkan pembaruan di cabang dan membuka MR jika diperlukan.
Untuk menjalankan di AWS Bedrock atau Google Vertex AI alih-alih Claude API, lihat bagian Menggunakan dengan AWS Bedrock & Google Vertex AI di bawah untuk penyiapan autentikasi dan lingkungan.
Penyiapan manual (direkomendasikan untuk produksi)
Jika Anda lebih suka penyiapan yang lebih terkontrol atau memerlukan penyedia perusahaan:-
Konfigurasi akses penyedia:
- Claude API: Buat dan simpan
ANTHROPIC_API_KEYsebagai variabel CI/CD yang disembunyikan - AWS Bedrock: Konfigurasi GitLab → AWS OIDC dan buat peran IAM untuk Bedrock
- Google Vertex AI: Konfigurasi Workload Identity Federation untuk GitLab → GCP
- Claude API: Buat dan simpan
-
Tambahkan kredensial proyek untuk operasi GitLab API:
- Gunakan
CI_JOB_TOKENsecara default, atau buat Project Access Token dengan cakupanapi - Simpan sebagai
GITLAB_ACCESS_TOKEN(disembunyikan) jika menggunakan PAT
- Gunakan
-
Tambahkan pekerjaan Claude ke
.gitlab-ci.yml(lihat contoh di bawah) -
(Opsional) Aktifkan pemicu berbasis penyebutan:
- Tambahkan webhook proyek untuk “Comments (notes)” ke pendengar peristiwa Anda (jika Anda menggunakannya)
- Buat pendengar memanggil API pemicu pipeline dengan variabel seperti
AI_FLOW_INPUTdanAI_FLOW_CONTEXTketika komentar berisi@claude
Contoh kasus penggunaan
Ubah masalah menjadi MR
Dalam komentar masalah:Dapatkan bantuan implementasi
Dalam diskusi MR:Perbaiki bug dengan cepat
Dalam komentar masalah atau MR:Menggunakan dengan AWS Bedrock & Google Vertex AI
Untuk lingkungan perusahaan, Anda dapat menjalankan Claude Code sepenuhnya di infrastruktur cloud Anda dengan pengalaman pengembang yang sama.Prasyarat
Sebelum menyiapkan Claude Code dengan AWS Bedrock, Anda memerlukan:- Akun AWS dengan akses Amazon Bedrock ke model Claude yang diinginkan
- GitLab dikonfigurasi sebagai penyedia identitas OIDC di AWS IAM
- Peran IAM dengan izin Bedrock dan kebijakan kepercayaan yang dibatasi pada proyek/ref GitLab Anda
- Variabel CI/CD GitLab untuk asumsi peran:
AWS_ROLE_TO_ASSUME(ARN peran)AWS_REGION(wilayah Bedrock)
Instruksi penyiapan
Konfigurasi AWS untuk memungkinkan pekerjaan GitLab CI mengasumsikan peran IAM melalui OIDC (tanpa kunci statis).Penyiapan yang diperlukan:- Aktifkan Amazon Bedrock dan minta akses ke model Claude target Anda
- Buat penyedia OIDC IAM untuk GitLab jika belum ada
- Buat peran IAM yang dipercaya oleh penyedia OIDC GitLab, dibatasi pada proyek dan ref yang dilindungi Anda
- Lampirkan izin privilege minimal untuk API invoke Bedrock
AWS_ROLE_TO_ASSUMEAWS_REGION
Contoh konfigurasi
Di bawah ini adalah cuplikan siap pakai yang dapat Anda sesuaikan dengan pipeline Anda..gitlab-ci.yml dasar (Claude API)
Contoh pekerjaan AWS Bedrock (OIDC)
Prasyarat:- Amazon Bedrock diaktifkan dengan akses ke model Claude pilihan Anda
- GitLab OIDC dikonfigurasi di AWS dengan peran yang mempercayai proyek dan ref GitLab Anda
- Peran IAM dengan izin Bedrock (privilege minimal direkomendasikan)
AWS_ROLE_TO_ASSUME: ARN peran IAM untuk akses BedrockAWS_REGION: Wilayah Bedrock (misalnya,us-west-2)
ID model untuk Bedrock mencakup awalan spesifik wilayah dan akhiran versi (misalnya,
us.anthropic.claude-sonnet-4-5-20250929-v1:0). Teruskan model yang diinginkan melalui konfigurasi pekerjaan Anda atau prompt jika alur kerja Anda mendukungnya.Contoh pekerjaan Google Vertex AI (Workload Identity Federation)
Prasyarat:- Vertex AI API diaktifkan di proyek GCP Anda
- Workload Identity Federation dikonfigurasi untuk mempercayai GitLab OIDC
- Akun layanan dengan izin Vertex AI
GCP_WORKLOAD_IDENTITY_PROVIDER: Nama sumber daya penyedia lengkapGCP_SERVICE_ACCOUNT: Email akun layananCLOUD_ML_REGION: Wilayah Vertex (misalnya,us-east5)
Dengan Workload Identity Federation, Anda tidak perlu menyimpan kunci akun layanan. Gunakan kondisi kepercayaan spesifik repositori dan akun layanan privilege minimal.
Praktik terbaik
Konfigurasi CLAUDE.md
Buat fileCLAUDE.md di akar repositori untuk menentukan standar pengkodean, kriteria ulasan, dan aturan spesifik proyek. Claude membaca file ini selama berjalan dan mengikuti konvensi Anda saat mengusulkan perubahan.
Pertimbangan keamanan
Jangan pernah melakukan komit kunci API atau kredensial cloud ke repositori Anda! Selalu gunakan variabel CI/CD GitLab:- Tambahkan
ANTHROPIC_API_KEYsebagai variabel yang disembunyikan (dan lindungi jika diperlukan) - Gunakan OIDC spesifik penyedia jika memungkinkan (tanpa kunci jangka panjang)
- Batasi izin pekerjaan dan egress jaringan
- Tinjau MR Claude seperti kontributor lainnya
Mengoptimalkan kinerja
- Jaga
CLAUDE.mdtetap fokus dan ringkas - Berikan deskripsi masalah/MR yang jelas untuk mengurangi iterasi
- Konfigurasi timeout pekerjaan yang masuk akal untuk menghindari lari yang liar
- Cache npm dan instalasi paket di runner jika memungkinkan
Biaya CI
Saat menggunakan Claude Code dengan GitLab CI/CD, waspadai biaya terkait:-
Waktu GitLab Runner:
- Claude berjalan di runner GitLab Anda dan mengonsumsi menit komputasi
- Lihat penagihan runner rencana GitLab Anda untuk detail
-
Biaya API:
- Setiap interaksi Claude mengonsumsi token berdasarkan ukuran prompt dan respons
- Penggunaan token bervariasi menurut kompleksitas tugas dan ukuran basis kode
- Lihat harga Anthropic untuk detail
-
Tips optimisasi biaya:
- Gunakan perintah
@claudespesifik untuk mengurangi putaran yang tidak perlu - Tetapkan nilai
max_turnsdan timeout pekerjaan yang sesuai - Batasi konkurensi untuk mengontrol jalankan paralel
- Gunakan perintah
Keamanan dan tata kelola
- Setiap pekerjaan berjalan dalam kontainer terisolasi dengan akses jaringan terbatas
- Perubahan Claude mengalir melalui MR sehingga pengulas melihat setiap diff
- Perlindungan cabang dan aturan persetujuan berlaku untuk kode yang dihasilkan AI
- Claude Code menggunakan izin berskop ruang kerja untuk membatasi penulisan
- Biaya tetap di bawah kontrol Anda karena Anda membawa kredensial penyedia Anda sendiri
Pemecahan masalah
Claude tidak merespons perintah @claude
- Verifikasi pipeline Anda dipicu (secara manual, peristiwa MR, atau melalui pendengar peristiwa catatan/webhook)
- Pastikan variabel CI/CD (
ANTHROPIC_API_KEYatau pengaturan penyedia cloud) ada dan tidak disembunyikan - Periksa bahwa komentar berisi
@claude(bukan/claude) dan pemicu penyebutan Anda dikonfigurasi
Pekerjaan tidak dapat menulis komentar atau membuka MR
- Pastikan
CI_JOB_TOKENmemiliki izin yang cukup untuk proyek, atau gunakan Project Access Token dengan cakupanapi - Periksa alat
mcp__gitlabdiaktifkan di--allowedTools - Konfirmkan pekerjaan berjalan dalam konteks MR atau memiliki konteks yang cukup melalui variabel
AI_FLOW_*
Kesalahan autentikasi
- Untuk Claude API: Konfirmkan
ANTHROPIC_API_KEYvalid dan tidak kadaluarsa - Untuk Bedrock/Vertex: Verifikasi konfigurasi OIDC/WIF, impersonasi peran, dan nama rahasia; konfirmkan ketersediaan wilayah dan model
Konfigurasi lanjutan
Parameter dan variabel umum
Claude Code mendukung input yang umum digunakan ini:prompt/prompt_file: Berikan instruksi inline (-p) atau melalui filemax_turns: Batasi jumlah iterasi bolak-baliktimeout_minutes: Batasi waktu eksekusi totalANTHROPIC_API_KEY: Diperlukan untuk Claude API (tidak digunakan untuk Bedrock/Vertex)- Lingkungan spesifik penyedia:
AWS_REGION, variabel proyek/wilayah untuk Vertex
Bendera dan parameter yang tepat dapat bervariasi menurut versi
@anthropic-ai/claude-code. Jalankan claude --help dalam pekerjaan Anda untuk melihat opsi yang didukung.Menyesuaikan perilaku Claude
Anda dapat memandu Claude dengan dua cara utama:- CLAUDE.md: Tentukan standar pengkodean, persyaratan keamanan, dan konvensi proyek. Claude membaca ini selama berjalan dan mengikuti aturan Anda.
- Prompt khusus: Teruskan instruksi spesifik tugas melalui
prompt/prompt_filedalam pekerjaan. Gunakan prompt berbeda untuk pekerjaan berbeda (misalnya, ulasan, implementasi, refaktor).