Eseguire Claude Code in GitHub Actions e Pipeline CI/CD
Claude Code funziona in modalita' headless per CI/CD. Usalo in GitHub Actions per auto-revisionare PR, classificare issue, generare correzioni e mantenere la qualita' del codice su larga scala.
La modalita' headless di Claude Code (flag -p) gli permette di funzionare senza interazione umana, rendendolo perfetto per le pipeline CI/CD. Puoi automatizzare code review, generare correzioni per test falliti, classificare issue e applicare standard di codice ad ogni push.
Come si esegue Claude Code in modalita' headless?
Il flag -p esegue Claude Code con un prompt e termina quando ha finito. Legge il progetto, esegue il task e restituisce il risultato. Non serve un terminale interattivo.
# Uso headless base
claude -p "Revisiona le modifiche nell'ultimo commit e segnala eventuali problemi"
# Con formato di output
claude -p "Elenca tutti i commenti TODO nel codebase" --output-format json
# Con limite di budget
claude -p "Correggi i test che falliscono" --max-budget-usd 1.00Come configurare Claude Code in GitHub Actions?
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Review PR
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "Revisiona le modifiche in questa PR. \
Controlla bug, problemi di sicurezza e violazioni di stile. \
Pubblica la tua review come commento alla PR." \
--max-budget-usd 2.00 \
--dangerously-skip-permissionsIl flag --dangerously-skip-permissions e' necessario in CI/CD perche' non c'e' un umano per approvare l'uso degli strumenti. Usalo solo in ambienti controllati con codice affidabile. Non usarlo mai su repository pubblici senza controlli di accesso adeguati.
Quali task CI/CD puo' automatizzare Claude Code?
| Task | Trigger | Cosa fa Claude Code |
|---|---|---|
| Code review PR | pull_request aperta | Revisiona la diff, pubblica commenti sui problemi trovati |
| Correzione test falliti | push (dopo fallimento test) | Legge l'output dei test, corregge il codice, pusha un commit |
| Triage issue | issues aperta | Legge la issue, aggiunge label, assegna priorita' |
| Generazione changelog | release pubblicata | Legge i commit dall'ultimo tag, genera il changelog |
| Aggiornamento documentazione | push su main | Aggiorna la documentazione API in base alle modifiche del codice |
| Audit di sicurezza | schedule (settimanale) | Scansiona vulnerabilita' comuni, apre issue |
Come gestire chiavi API e costi?
- +Conserva ANTHROPIC_API_KEY nei GitHub Secrets (mai nel codice)
- +Usa --max-budget-usd per limitare la spesa per esecuzione (es. $2 per review PR)
- +Usa il modello Sonnet per task sensibili ai costi: claude -p "..." --model sonnet
- +Monitora l'utilizzo nella tua dashboard Anthropic
Come usare Claude Code con GitLab CI?
# .gitlab-ci.yml
ai-review:
stage: review
image: node:20
script:
- npm install -g @anthropic-ai/claude-code
- claude -p "Revisiona le modifiche della MR e segnala problemi" --max-budget-usd 2.00 --dangerously-skip-permissions
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"