🐙
infrastructure

GitHub Actions

Plateforme CI/CD integree a GitHub pour automatiser les workflows de developpement.

Definition

GitHub Actions est la plateforme CI/CD native de GitHub. Elle permet d'automatiser des workflows de build, test et deploiement directement depuis les repositories GitHub, declenches par des evenements (push, pull request, schedule, webhook).

Lancee en 2019, GitHub Actions est devenue la plateforme CI/CD la plus populaire pour les projets open source et les startups.

Concepts cles

  • Workflow : fichier YAML dans .github/workflows/ qui definit l'automatisation
  • Event (trigger) : ce qui declenche le workflow (push, PR, cron, manual)
  • Job : ensemble de steps qui s'executent sur un runner
  • Step : une action ou une commande shell
  • Action : module reutilisable (actions/checkout, actions/setup-node)
  • Runner : machine qui execute le job (GitHub-hosted ou self-hosted)

Exemple complet

name: CI/CD Pipeline

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

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm test
      - run: npm run build

  deploy:
    needs: test
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm run build
      - uses: appleboy/scp-action@v0.1.7
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: deploy
          key: ${{ secrets.SSH_KEY }}
          source: "dist/"
          target: "/var/www/monsite"

Fonctionnalites avancees

Matrix builds

strategy:
  matrix:
    node-version: [18, 20, 22]
    os: [ubuntu-latest, windows-latest]

Reusable workflows

jobs:
  call-shared:
    uses: ./.github/workflows/shared-ci.yml
    secrets: inherit

Cache

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: npm-${{ hashFiles('package-lock.json') }}

Tarification

Plan Minutes/mois Stockage
Free 2 000 500 Mo
Team 3 000 2 Go
Enterprise 50 000 50 Go

Les runners self-hosted sont gratuits en minutes.

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions frequentes

GitHub Actions ou GitLab CI ?
GitHub Actions si vous utilisez GitHub (meilleure integration, marketplace). GitLab CI si vous utilisez GitLab ou avez besoin d'auto-hebergement. Les deux sont excellents.
Les self-hosted runners sont-ils recommandes ?
Oui, pour les builds lourds (economie de cout), l'acces a des ressources internes, ou les exigences de securite. Pour les projets standards, les runners GitHub-hosted suffisent.
Comment securiser les secrets dans GitHub Actions ?
Utilisez les repository secrets ou environment secrets (Settings > Secrets). Ne jamais hardcoder de secrets dans les workflows. Utilisez OIDC pour les cloud providers (AWS, GCP) au lieu de stocker des cles d'acces.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.