image de chargement
Retour au glossaire

GitHub Actions

Plateforme d'automatisation CI/CD native de GitHub permettant de créer des workflows personnalisés déclenchés par des événements de dépôt.

Mis à jour le 19 janvier 2026

GitHub Actions est une plateforme d'intégration continue et de déploiement continu (CI/CD) intégrée directement dans GitHub. Elle permet aux développeurs d'automatiser l'ensemble du cycle de vie logiciel, depuis les tests jusqu'au déploiement, via des workflows définis en YAML et déclenchés par des événements Git.

Fondements

  • Workflows déclaratifs : fichiers YAML stockés dans `.github/workflows/` définissant les pipelines d'automatisation
  • Déclencheurs d'événements : activation automatique sur push, pull request, création d'issue, schedule cron ou webhook
  • Runners : environnements d'exécution (Linux, Windows, macOS) hébergés par GitHub ou auto-hébergés
  • Actions réutilisables : composants modulaires partagés via le GitHub Marketplace pour composer des workflows

Avantages

  • Intégration native : aucune configuration tierce nécessaire, directement dans l'interface GitHub
  • Écosystème riche : plus de 20 000 actions prêtes à l'emploi sur le Marketplace
  • Gratuité généreuse : 2 000 minutes/mois pour les dépôts privés, illimité pour les publics
  • Matrice de tests : exécution parallèle sur plusieurs versions de langages, OS ou configurations
  • Secrets sécurisés : gestion chiffrée des variables sensibles (API keys, tokens) au niveau dépôt/organisation

Exemple concret

.github/workflows/ci.yml
name: CI Pipeline

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18, 20, 22]
    
    steps:
      - uses: actions/checkout@v4
      
      - name: Setup Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      
      - name: Install dependencies
        run: npm ci
      
      - name: Run tests
        run: npm test -- --coverage
      
      - name: Upload coverage
        uses: codecov/codecov-action@v3
        if: matrix.node-version == 20

  deploy:
    needs: test
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v4
      
      - name: Deploy to production
        env:
          DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
        run: |
          npm run build
          npm run deploy

Mise en œuvre

  1. Créer un répertoire `.github/workflows/` à la racine du dépôt
  2. Définir un fichier YAML (ex: `ci.yml`) avec les déclencheurs (`on:`) et jobs
  3. Configurer les runners (`runs-on`) et stratégies de matrice si nécessaire
  4. Composer les étapes (`steps`) en utilisant des actions du Marketplace ou des commandes shell
  5. Ajouter les secrets sensibles via Settings > Secrets and variables > Actions
  6. Commit et push : le workflow s'exécute automatiquement selon les déclencheurs définis
  7. Monitorer l'exécution dans l'onglet Actions du dépôt et optimiser selon les logs

Conseil Pro

Utilisez les cache actions (`actions/cache`) pour stocker les dépendances entre exécutions et réduire le temps de build de 40-60%. Activez également les workflows réutilisables (reusable workflows) pour mutualiser la logique commune entre projets et éviter la duplication de configuration.

Outils associés

  • Act : exécution locale des workflows GitHub Actions pour debugging sans consommer de minutes CI
  • Dependabot : automatisation des mises à jour de dépendances intégrée avec GitHub Actions
  • GitHub CLI (gh) : gestion des workflows, secrets et exécutions en ligne de commande
  • Terraform : provisionnement d'infrastructure utilisable dans les workflows pour déploiements cloud
  • Docker : conteneurisation d'actions personnalisées et environnements de build cohérents

GitHub Actions transforme les dépôts en plateformes d'automatisation complètes, réduisant le time-to-market de 30-50% selon les études GitHub. Son modèle événementiel permet d'orchestrer non seulement le CI/CD, mais aussi la gouvernance (audits automatiques), la documentation (génération de changelog) et les notifications d'équipe, centralisant ainsi l'ensemble de l'outillage DevOps dans un écosystème unifié et versionné.

L'argentestdéjàsurlatable.

En 1 heure, découvrez exactement combien vous perdez et comment le récupérer.