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 nei 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 spiegazioni
- 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 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à AI in lavori isolati e eseguire il commit dei risultati tramite MR:-
Orchestrazione guidata da 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 quell’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 filesystem. Claude Code applica autorizzazioni con ambito workspace per limitare le scritture. Ogni modifica scorre 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 guidati da 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.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 del ruolo:
AWS_ROLE_TO_ASSUME(ARN del ruolo)AWS_REGION(regione Bedrock)
Istruzioni di configurazione
Configura AWS per consentire ai lavori GitLab CI 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 attendibile dal provider OIDC 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 al tuo modello Claude scelto
- OIDC GitLab configurato in AWS con un ruolo che attendibile al tuo 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). 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 attendere OIDC GitLab
- 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 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 dei lavori e l’uscita di 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 scorrono 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 AI
- 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 abbastanza contesto 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, la rappresentazione 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).