Exécuter Claude Code dans GitHub Actions et les Pipelines CI/CD
Claude Code fonctionne en mode headless pour le CI/CD. Utilisez-le dans GitHub Actions pour auto-reviewer les PRs, trier les issues, générer des corrections et maintenir la qualité du code à grande échelle.
Le mode headless de Claude Code (flag -p) lui permet de fonctionner sans interaction humaine, ce qui le rend parfait pour les pipelines CI/CD. Vous pouvez automatiser les revues de code, générer des corrections pour les tests en échec, trier les issues et appliquer des standards de code à chaque push.
Comment exécuter Claude Code en mode headless ?
Le flag -p lance Claude Code avec un prompt et se termine une fois la tâche accomplie. Il lit le projet, exécute la tâche et affiche le résultat. Pas besoin de terminal interactif.
# Utilisation headless basique
claude -p "Revois les changements du dernier commit et signale les problèmes"
# Avec format de sortie
claude -p "Liste tous les commentaires TODO dans la base de code" --output-format json
# Avec limite de budget
claude -p "Corrige les tests en échec" --max-budget-usd 1.00Comment configurer Claude Code dans GitHub Actions ?
name: Revue de Code IA
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Installer Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Reviewer la PR
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "Revois les changements de cette PR. \
Vérifie les bugs, les problèmes de sécurité et les violations de style. \
Poste ta revue en commentaire de la PR." \
--max-budget-usd 2.00 \
--dangerously-skip-permissionsLe flag --dangerously-skip-permissions est requis en CI/CD car il n'y a pas d'humain pour approuver l'utilisation des outils. N'utilisez ceci que dans des environnements contrôlés avec du code de confiance. Ne l'utilisez jamais sur des dépôts publics sans contrôles d'accès soigneux.
Quelles tâches CI/CD Claude Code peut-il automatiser ?
| Tâche | Déclencheur | Ce que fait Claude Code |
|---|---|---|
| Revue de code PR | pull_request opened | Revoit le diff, poste des commentaires sur les problèmes trouvés |
| Correction de tests en échec | push (après échec de test) | Lit la sortie des tests, corrige le code, pousse un commit |
| Tri des issues | issues opened | Lit l'issue, ajoute des labels, assigne une priorité |
| Génération de changelog | release published | Lit les commits depuis le dernier tag, génère le changelog |
| Mise à jour de documentation | push vers main | Met à jour la doc API basée sur les changements de code |
| Audit de sécurité | planifié (hebdomadaire) | Scanne les vulnérabilités courantes, ouvre des issues |
Comment gérer les clés API et les coûts ?
- +Stocker ANTHROPIC_API_KEY dans les GitHub Secrets (jamais dans le code)
- +Utiliser --max-budget-usd pour plafonner les dépenses par exécution (par ex. 2 $ par revue de PR)
- +Utiliser le modèle Sonnet pour les tâches sensibles au coût : claude -p "..." --model sonnet
- +Surveiller l'utilisation dans votre tableau de bord Anthropic
Comment utiliser Claude Code avec GitLab CI ?
# .gitlab-ci.yml
ai-review:
stage: review
image: node:20
script:
- npm install -g @anthropic-ai/claude-code
- claude -p "Revois les changements de la MR et signale les problèmes" --max-budget-usd 2.00 --dangerously-skip-permissions
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"