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, consulta il seguente problema GitLab.
Questa integrazione è costruita sulla base di Claude Code CLI e SDK, abilitando l’uso programmatico di Claude nei tuoi lavori CI/CD e flussi di lavoro di automazione personalizzati.
Perché usare Claude Code con GitLab?
- Creazione istantanea di MR: Descrivi quello di cui hai bisogno e Claude propone un MR completo con modifiche e spiegazione
- Implementazione automatizzata: Trasforma i problemi in codice funzionante con un singolo comando o menzione
- Consapevolezza del progetto: Claude segue le tue linee guida
CLAUDE.mde i modelli di codice esistenti - Configurazione semplice: Aggiungi un lavoro a
.gitlab-ci.ymle una variabile CI/CD mascherata - Pronto per l’azienda: Scegli 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 tuoi runner GitLab con la protezione dei rami e le 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: Utilizza il provider che si adatta al tuo 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 file system. 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 lavori 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 tuo.gitlab-ci.yml e impostare la tua chiave API come variabile mascherata.
-
Aggiungi una variabile CI/CD mascherata
- Vai a Impostazioni → CI/CD → Variabili
- Aggiungi
ANTHROPIC_API_KEY(mascherata, protetta secondo necessità)
-
Aggiungi un lavoro Claude a
.gitlab-ci.yml
ANTHROPIC_API_KEY, esegui il test eseguendo il lavoro manualmente da CI/CD → Pipeline, o attivalo 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, consulta 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 preferisci una configurazione più controllata o hai bisogno di provider aziendali:-
Configura l’accesso al provider:
- Claude API: Crea e archivia
ANTHROPIC_API_KEYcome variabile CI/CD mascherata - AWS Bedrock: Configura GitLab → AWS OIDC e crea un ruolo IAM per Bedrock
- Google Vertex AI: Configura Workload Identity Federation per GitLab → GCP
- Claude API: Crea e archivia
-
Aggiungi credenziali di progetto per le operazioni dell’API GitLab:
- Utilizza
CI_JOB_TOKENper impostazione predefinita, o crea un Project Access Token con ambitoapi - Archivia come
GITLAB_ACCESS_TOKEN(mascherato) se utilizzi un PAT
- Utilizza
-
Aggiungi il lavoro Claude a
.gitlab-ci.yml(vedi esempi di seguito) -
(Facoltativo) Abilita trigger basati su menzioni:
- Aggiungi un webhook di progetto per “Commenti (note)” al tuo listener di eventi (se ne utilizzi uno)
- Fai in modo che il listener chiami l’API di attivazione della pipeline con variabili come
AI_FLOW_INPUTeAI_FLOW_CONTEXTquando un commento contiene@claude
Esempi di casi d’uso
Trasforma i problemi in MR
In un commento di problema:Ottieni aiuto nell’implementazione
In una discussione MR:Correggi i bug rapidamente
In un commento di problema o MR:Utilizzo con AWS Bedrock e Google Vertex AI
Per ambienti aziendali, puoi eseguire Claude Code interamente sulla tua infrastruttura cloud con la stessa esperienza per gli sviluppatori.- AWS Bedrock
- Google Vertex AI
Prerequisiti
Prima di configurare Claude Code con AWS Bedrock, hai 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 tuo progetto/rami GitLab
- Variabili CI/CD GitLab per l’assunzione di ruoli:
AWS_ROLE_TO_ASSUME(ARN del ruolo)AWS_REGION(regione Bedrock)
Istruzioni di configurazione
Configura AWS per consentire ai lavori CI di GitLab di assumere un ruolo IAM tramite OIDC (nessuna chiave statica).Configurazione richiesta:- Abilita Amazon Bedrock e richiedi l’accesso ai tuoi modelli Claude target
- Crea un provider OIDC IAM per GitLab se non già presente
- Crea un ruolo IAM affidato dal provider OIDC di GitLab, limitato al tuo progetto e rami protetti
- Allega 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 puoi adattare alla tua pipeline..gitlab-ci.yml di base (Claude API)
Esempio di lavoro AWS Bedrock (OIDC)
Prerequisiti:- Amazon Bedrock abilitato con accesso ai tuoi modelli Claude scelti
- GitLab OIDC configurato in AWS con un ruolo che si fida del tuo progetto e dei 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). Passa il modello desiderato tramite la configurazione del lavoro o il prompt se il tuo flusso di lavoro lo supporta.Esempio di lavoro Google Vertex AI (Workload Identity Federation)
Prerequisiti:- API Vertex AI abilitata nel tuo progetto GCP
- Workload Identity Federation configurata per fidarsi di GitLab OIDC
- Un account di servizio con autorizzazioni Vertex AI
GCP_WORKLOAD_IDENTITY_PROVIDER: Nome della risorsa del provider completoGCP_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. Utilizza condizioni di trust specifiche del repository e account di servizio con privilegi minimi.
Migliori pratiche
Configurazione CLAUDE.md
Crea un fileCLAUDE.md nella radice del repository per definire standard di codifica, criteri di revisione e regole specifiche del progetto. Claude legge questo file durante le esecuzioni e segue le tue convenzioni quando propone modifiche.
Considerazioni sulla sicurezza
Non eseguire mai il commit di chiavi API o credenziali cloud nel tuo repository! Utilizza sempre le variabili CI/CD di GitLab:- Aggiungi
ANTHROPIC_API_KEYcome variabile mascherata (e proteggila se necessario) - Utilizza OIDC specifico del provider dove possibile (nessuna chiave di lunga durata)
- Limita le autorizzazioni del lavoro e l’uscita della rete
- Rivedi i MR di Claude come qualsiasi altro collaboratore
Ottimizzazione delle prestazioni
- Mantieni
CLAUDE.mdfocalizzato e conciso - Fornisci descrizioni chiare di problemi/MR per ridurre le iterazioni
- Configura timeout di lavoro ragionevoli per evitare esecuzioni incontrollate
- Memorizza nella cache npm e installa i pacchetti nei runner dove possibile
Costi CI
Quando utilizzi Claude Code con GitLab CI/CD, tieni presente i costi associati:-
Tempo del runner GitLab:
- Claude viene eseguito sui tuoi runner GitLab e consuma minuti di calcolo
- Consulta la fatturazione del runner del tuo piano GitLab per i dettagli
-
Costi API:
- Ogni interazione Claude consuma token in base alle dimensioni del prompt e della risposta
- L’utilizzo dei token varia in base alla complessità dell’attività e alle dimensioni della base di codice
- Consulta Prezzi Anthropic per i dettagli
-
Suggerimenti per l’ottimizzazione dei costi:
- Utilizza comandi
@claudespecifici per ridurre i turni non necessari - Imposta valori
max_turnse timeout di lavoro appropriati - Limita la concorrenza per controllare le esecuzioni parallele
- Utilizza comandi
Sicurezza e governance
- Ogni lavoro viene eseguito in un contenitore isolato con accesso di rete limitato
- Le modifiche di Claude passano attraverso i 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 tuo controllo perché porti le tue credenziali del provider
Risoluzione dei problemi
Claude non risponde ai comandi @claude
- Verifica che la tua pipeline sia attivata (manualmente, evento MR o tramite listener di note/webhook)
- Assicurati che le variabili CI/CD (
ANTHROPIC_API_KEYo impostazioni del provider cloud) siano presenti e non mascherate - Controlla che il commento contenga
@claude(non/claude) e che il tuo trigger di menzione sia configurato
Il lavoro non può scrivere commenti o aprire MR
- Assicurati che
CI_JOB_TOKENabbia autorizzazioni sufficienti per il progetto, o utilizza un Project Access Token con ambitoapi - Controlla che lo strumento
mcp__gitlabsia abilitato in--allowedTools - Conferma che il lavoro viene eseguito nel contesto del MR o ha contesto sufficiente tramite variabili
AI_FLOW_*
Errori di autenticazione
- Per Claude API: Conferma che
ANTHROPIC_API_KEYsia valida e non scaduta - Per Bedrock/Vertex: Verifica la configurazione OIDC/WIF, l’impersonificazione del ruolo e i nomi segreti; conferma la disponibilità della regione e del modello
Configurazione avanzata
Parametri e variabili comuni
Claude Code supporta questi input comunemente utilizzati:prompt/prompt_file: Fornisci istruzioni inline (-p) o tramite un filemax_turns: Limita il numero di iterazioni avanti e indietrotimeout_minutes: Limita 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. Esegui claude --help nel tuo lavoro per vedere le opzioni supportate.Personalizzazione del comportamento di Claude
Puoi guidare Claude in due modi principali:- CLAUDE.md: Definisci standard di codifica, requisiti di sicurezza e convenzioni di progetto. Claude legge questo durante le esecuzioni e segue le tue regole.
- Prompt personalizzati: Passa istruzioni specifiche dell’attività tramite
prompt/prompt_filenel lavoro. Utilizza prompt diversi per lavori diversi (ad esempio, revisione, implementazione, refactoring).