Claude Code per GitLab CI/CD è attualmente in beta. Le funzionalità e la funzionalità possono evolversi mentre perfezzioniamo l’esperienza.Questa integrazione è mantenuta da GitLab. Per il supporto, consultare il seguente problema GitLab.
Questa integrazione è costruita sulla base di Claude Code CLI e Agent SDK, consentendo l’uso programmatico di Claude nei vostri lavori CI/CD e flussi di lavoro di automazione personalizzati.
Perché utilizzare Claude Code con GitLab?
- Creazione istantanea di MR: Descrivete ciò di cui avete bisogno e Claude propone un MR completo con modifiche e spiegazioni
- Implementazione automatizzata: Trasformate i problemi in codice funzionante con un singolo comando o menzione
- Consapevolezza del progetto: Claude segue le vostre linee guida
CLAUDE.mde i modelli di codice esistenti - Configurazione semplice: Aggiungete un lavoro a
.gitlab-ci.ymle una variabile CI/CD mascherata - Pronto per l’azienda: Scegliete Claude API, AWS Bedrock o Google Vertex AI per soddisfare le esigenze di residenza dei dati e di approvvigionamento
- Sicuro per impostazione predefinita: Viene eseguito nei vostri runner GitLab con la vostra protezione dei rami e approvazioni
Come funziona
Claude Code utilizza GitLab CI/CD per eseguire attività di intelligenza artificiale in lavori isolati e eseguire il commit dei risultati tramite MR:-
Orchestrazione basata su eventi: GitLab ascolta i trigger scelti (ad esempio, un commento che menziona
@claudein un problema, MR o thread di revisione). Il lavoro raccoglie il contesto dal thread e dal repository, costruisce prompt da tale input ed esegue Claude Code. -
Astrazione del provider: Utilizzate il provider che si adatta al vostro ambiente:
- Claude API (SaaS)
- AWS Bedrock (accesso basato su IAM, opzioni multi-regione)
- Google Vertex AI (nativo GCP, Workload Identity Federation)
- Esecuzione in sandbox: Ogni interazione viene eseguita in un contenitore con regole rigorose di rete e filesystem. Claude Code applica autorizzazioni con ambito workspace per limitare le scritture. Ogni modifica passa attraverso un MR in modo che i revisori vedano il diff e le approvazioni si applichino ancora.
Cosa può fare Claude?
Claude Code abilita potenti flussi di lavoro CI/CD che trasformano il modo in cui lavorate con il codice:- Creare e aggiornare MR da descrizioni di problemi o commenti
- Analizzare regressioni di prestazioni e proporre ottimizzazioni
- Implementare funzionalità direttamente in un ramo, quindi aprire un MR
- Correggere bug e regressioni identificati da test o commenti
- Rispondere ai commenti di follow-up per iterare sulle modifiche richieste
Configurazione
Configurazione rapida
Il modo più veloce per iniziare è aggiungere un lavoro minimo al vostro.gitlab-ci.yml e impostare la vostra chiave API come variabile mascherata.
-
Aggiungere una variabile CI/CD mascherata
- Andate a Impostazioni → CI/CD → Variabili
- Aggiungete
ANTHROPIC_API_KEY(mascherata, protetta secondo necessità)
-
Aggiungere un lavoro Claude a
.gitlab-ci.yml
ANTHROPIC_API_KEY, testate eseguendo il lavoro manualmente da CI/CD → Pipeline, oppure attivate da un MR per consentire a Claude di proporre aggiornamenti in un ramo e aprire un MR se necessario.
Per eseguire su AWS Bedrock o Google Vertex AI invece dell’API Claude, consultate la sezione Utilizzo con AWS Bedrock e Google Vertex AI di seguito per la configurazione dell’autenticazione e dell’ambiente.
Configurazione manuale (consigliata per la produzione)
Se preferite una configurazione più controllata o avete bisogno di provider aziendali:-
Configurare l’accesso al provider:
- Claude API: Creare e archiviare
ANTHROPIC_API_KEYcome variabile CI/CD mascherata - AWS Bedrock: Configurare GitLab → AWS OIDC e creare un ruolo IAM per Bedrock
- Google Vertex AI: Configurare Workload Identity Federation per GitLab → GCP
- Claude API: Creare e archiviare
-
Aggiungere credenziali di progetto per le operazioni dell’API GitLab:
- Utilizzate
CI_JOB_TOKENper impostazione predefinita, oppure create un Project Access Token con ambitoapi - Archiviate come
GITLAB_ACCESS_TOKEN(mascherato) se utilizzate un PAT
- Utilizzate
-
Aggiungere il lavoro Claude a
.gitlab-ci.yml(vedere gli esempi di seguito) -
(Facoltativo) Abilitare trigger basati su menzioni:
- Aggiungere un webhook di progetto per “Commenti (note)” al vostro listener di eventi (se ne utilizzate uno)
- Fare in modo che il listener chiami l’API di attivazione della pipeline con variabili come
AI_FLOW_INPUTeAI_FLOW_CONTEXTquando un commento contiene@claude
Casi d’uso di esempio
Trasformare i problemi in MR
In un commento di problema:Ottenere aiuto nell’implementazione
In una discussione MR:Correggere i bug rapidamente
In un commento di problema o MR:Utilizzo con AWS Bedrock e Google Vertex AI
Per ambienti aziendali, potete eseguire Claude Code interamente sulla vostra infrastruttura cloud con la stessa esperienza per gli sviluppatori.- AWS Bedrock
- Google Vertex AI
Prerequisiti
Prima di configurare Claude Code con AWS Bedrock, avete bisogno di:- Un account AWS con accesso ad Amazon Bedrock ai modelli Claude desiderati
- GitLab configurato come provider di identità OIDC in AWS IAM
- Un ruolo IAM con autorizzazioni Bedrock e una politica di trust limitata al vostro progetto/rami GitLab
- Variabili CI/CD GitLab per l’assunzione del ruolo:
AWS_ROLE_TO_ASSUME(ARN del ruolo)AWS_REGION(regione Bedrock)
Istruzioni di configurazione
Configurate AWS per consentire ai lavori CI di GitLab di assumere un ruolo IAM tramite OIDC (nessuna chiave statica).Configurazione richiesta:- Abilitare Amazon Bedrock e richiedere l’accesso ai vostri modelli Claude target
- Creare un provider OIDC IAM per GitLab se non già presente
- Creare un ruolo IAM affidato dal provider OIDC di GitLab, limitato al vostro progetto e rami protetti
- Allegare autorizzazioni con privilegi minimi per le API di invocazione Bedrock
AWS_ROLE_TO_ASSUMEAWS_REGION
Esempi di configurazione
Di seguito sono riportati frammenti pronti all’uso che potete adattare alla vostra pipeline..gitlab-ci.yml di base (Claude API)
Esempio di lavoro AWS Bedrock (OIDC)
Prerequisiti:- Amazon Bedrock abilitato con accesso ai vostri modelli Claude scelti
- GitLab OIDC configurato in AWS con un ruolo che si fida del vostro progetto e rami GitLab
- Ruolo IAM con autorizzazioni Bedrock (privilegi minimi consigliati)
AWS_ROLE_TO_ASSUME: ARN del ruolo IAM per l’accesso a BedrockAWS_REGION: Regione Bedrock (ad esempio,us-west-2)
Gli ID modello per Bedrock includono prefissi specifici della regione e suffissi di versione (ad esempio,
us.anthropic.claude-sonnet-4-5-20250929-v1:0). Passate il modello desiderato tramite la configurazione del lavoro o il prompt se il vostro flusso di lavoro lo supporta.Esempio di lavoro Google Vertex AI (Workload Identity Federation)
Prerequisiti:- API Vertex AI abilitata nel vostro progetto GCP
- Workload Identity Federation configurata per fidarsi di GitLab OIDC
- Un account di servizio con autorizzazioni Vertex AI
GCP_WORKLOAD_IDENTITY_PROVIDER: Nome completo della risorsa del providerGCP_SERVICE_ACCOUNT: Email dell’account di servizioCLOUD_ML_REGION: Regione Vertex (ad esempio,us-east5)
Con Workload Identity Federation, non è necessario archiviare le chiavi dell’account di servizio. Utilizzate condizioni di trust specifiche del repository e account di servizio con privilegi minimi.
Best practice
Configurazione CLAUDE.md
Create un fileCLAUDE.md nella radice del repository per definire gli standard di codifica, i criteri di revisione e le regole specifiche del progetto. Claude legge questo file durante le esecuzioni e segue le vostre convenzioni quando propone modifiche.
Considerazioni sulla sicurezza
Non eseguite mai il commit di chiavi API o credenziali cloud nel vostro repository. Utilizzate sempre le variabili CI/CD di GitLab:- Aggiungete
ANTHROPIC_API_KEYcome variabile mascherata (e proteggetela se necessario) - Utilizzate OIDC specifico del provider dove possibile (nessuna chiave di lunga durata)
- Limitate le autorizzazioni del lavoro e l’uscita di rete
- Revisionate i MR di Claude come qualsiasi altro contributore
Ottimizzazione delle prestazioni
- Mantenete
CLAUDE.mdfocalizzato e conciso - Fornite descrizioni chiare di problemi/MR per ridurre le iterazioni
- Configurate timeout di lavoro ragionevoli per evitare esecuzioni incontrollate
- Memorizzate nella cache npm e gli install di pacchetti nei runner dove possibile
Costi CI
Quando utilizzate Claude Code con GitLab CI/CD, siate consapevoli dei costi associati:-
Tempo del runner GitLab:
- Claude viene eseguito sui vostri runner GitLab e consuma minuti di calcolo
- Consultate la fatturazione del runner del vostro piano GitLab per i dettagli
-
Costi API:
- Ogni interazione Claude consuma token in base alla dimensione del prompt e della risposta
- L’utilizzo dei token varia in base alla complessità dell’attività e alla dimensione della base di codice
- Consultate Prezzi Anthropic per i dettagli
-
Suggerimenti per l’ottimizzazione dei costi:
- Utilizzate comandi
@claudespecifici per ridurre i turni non necessari - Impostate valori appropriati di
max_turnse timeout del lavoro - Limitate la concorrenza per controllare le esecuzioni parallele
- Utilizzate comandi
Sicurezza e governance
- Ogni lavoro viene eseguito in un contenitore isolato con accesso di rete limitato
- Le modifiche di Claude passano attraverso MR in modo che i revisori vedano ogni diff
- Le regole di protezione dei rami e approvazione si applicano al codice generato da IA
- Claude Code utilizza autorizzazioni con ambito workspace per limitare le scritture
- I costi rimangono sotto il vostro controllo perché portate le vostre credenziali del provider
Risoluzione dei problemi
Claude non risponde ai comandi @claude
- Verificate che la vostra pipeline sia attivata (manualmente, evento MR o tramite listener di note/webhook)
- Assicuratevi che le variabili CI/CD (
ANTHROPIC_API_KEYo impostazioni del provider cloud) siano presenti e non mascherate - Controllate che il commento contenga
@claude(non/claude) e che il vostro trigger di menzione sia configurato
Il lavoro non può scrivere commenti o aprire MR
- Assicuratevi che
CI_JOB_TOKENabbia autorizzazioni sufficienti per il progetto, oppure utilizzate un Project Access Token con ambitoapi - Controllate che lo strumento
mcp__gitlabsia abilitato in--allowedTools - Confermate che il lavoro viene eseguito nel contesto del MR o ha contesto sufficiente tramite variabili
AI_FLOW_*
Errori di autenticazione
- Per Claude API: Confermate che
ANTHROPIC_API_KEYsia valida e non scaduta - Per Bedrock/Vertex: Verificate la configurazione OIDC/WIF, l’impersonificazione del ruolo e i nomi segreti; confermate la disponibilità della regione e del modello
Configurazione avanzata
Parametri e variabili comuni
Claude Code supporta questi input comunemente utilizzati:prompt/prompt_file: Fornite istruzioni inline (-p) o tramite un filemax_turns: Limitate il numero di iterazioni avanti e indietrotimeout_minutes: Limitate il tempo di esecuzione totaleANTHROPIC_API_KEY: Richiesto per l’API Claude (non utilizzato per Bedrock/Vertex)- Ambiente specifico del provider:
AWS_REGION, variabili di progetto/regione per Vertex
I flag e i parametri esatti possono variare in base alla versione di
@anthropic-ai/claude-code. Eseguite claude --help nel vostro lavoro per vedere le opzioni supportate.Personalizzazione del comportamento di Claude
Potete guidare Claude in due modi principali:- CLAUDE.md: Definite gli standard di codifica, i requisiti di sicurezza e le convenzioni del progetto. Claude legge questo durante le esecuzioni e segue le vostre regole.
- Prompt personalizzati: Passate istruzioni specifiche dell’attività tramite
prompt/prompt_filenel lavoro. Utilizzate prompt diversi per lavori diversi (ad esempio, revisione, implementazione, refactoring).