Azure DevOps et GitHub Actions sont les deux outils CI/CD de Microsoft. Pipelines, gestion des artefacts, sécurité, pricing : un comparatif complet pour faire le bon choix selon votre contexte.
Deux outils, une même entreprise
Microsoft possède les deux plateformes : Azure DevOps (anciennement VSTS, lancé en 2018) et GitHub Actions (acquis avec GitHub en 2018, lancé en 2019). Cette situation crée parfois de la confusion dans les équipes qui cherchent un outil CI/CD Microsoft. La réponse dépend fortement de votre contexte.
Azure DevOps est une suite complète incluant Boards (gestion de projet), Repos (Git), Pipelines (CI/CD), Test Plans et Artifacts. GitHub Actions est exclusivement centré sur l'automatisation des workflows depuis un dépôt GitHub.
Comparatif fonctionnel
| Critère | Azure DevOps Pipelines | GitHub Actions |
|---|---|---|
| Format pipeline | YAML (azure-pipelines.yml) | YAML (.github/workflows/) |
| Runners hébergés | Windows, Linux, macOS | Windows, Linux, macOS, ARM |
| Self-hosted runners | ✅ (agents) | ✅ |
| Marketplace | ~1 000 tasks | ~20 000 actions |
| Déclencheurs | Push, PR, schedule, manual | Push, PR, schedule, webhook, manual, repository_dispatch |
| Matrix builds | ✅ | ✅ |
| Environments + approvals | ✅ (Deployment Groups) | ✅ (Environments) |
| Gestion des secrets | Variable Groups + Key Vault link | Secrets + Variables (repo/org/env) |
| OIDC / Keyless auth | ✅ (Workload Identity) | ✅ (OIDC natif) |
| Réutilisabilité | Templates YAML | Reusable workflows + composite actions |
Syntaxe des pipelines : différences clés
Les deux utilisent YAML mais avec des paradigmes différents. Azure DevOps est plus structuré (stages → jobs → steps) avec une gestion des conditions plus verbeuse. GitHub Actions est plus flexible et événement-driven, avec une syntaxe on: plus expressive.
Exemple de pipeline multi-stage Azure DevOps :
stages:
- stage: Build
jobs:
- job: BuildApp
pool:
vmImage: ubuntu-latest
steps:
- script: npm ci && npm run build
- stage: Deploy
dependsOn: Build
condition: succeeded()
jobs:
- deployment: DeployPrd
environment: production
Équivalent GitHub Actions :
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
deploy:
needs: build
environment: production
runs-on: ubuntu-latest
steps:
- run: ./deploy.sh
Gestion des artefacts
Azure Artifacts est un registre universel intégré à Azure DevOps : npm, NuGet, Maven, Python, Helm, Universal Packages. Il s'intègre parfaitement avec les pipelines Azure DevOps pour la publication et la consommation de packages internes.
GitHub Packages propose npm, Maven, NuGet, Docker, RubyGems. L'intégration avec GitHub Actions est native (le token GITHUB_TOKEN suffit pour publier). Pour Helm et les packages universels, GitHub Packages est plus limité.
Sécurité et conformité
Les deux plateformes supportent l'authentification OIDC pour un accès sans clé aux clouds (AWS, Azure, GCP). Azure DevOps dispose historiquement de contrôles d'accès plus fins (RBAC granulaire par projet, collection, organisation) ce qui le rend populaire dans les grandes entreprises avec des structures organisationnelles complexes.
GitHub Actions bénéficie de l'intégration native avec GitHub Advanced Security (SAST, secret scanning, Dependabot) directement dans les PRs — un avantage significatif pour les équipes DevSecOps.
Pricing
| Critère | Azure DevOps | GitHub Actions |
|---|---|---|
| Gratuit (Linux) | 1 800 min/mois | 2 000 min/mois |
| Linux hébergé | 0,008 $/min | 0,008 $/min |
| macOS hébergé | 0,08 $/min | 0,08 $/min |
| Self-hosted | Gratuit (illimité) | Gratuit (illimité) |
| Artefacts | 2 GB gratuit | 500 MB gratuit |
En pratique, les deux outils ont des tarifs similaires pour les runners hébergés. L'avantage d'Azure DevOps est le stockage d'artefacts plus généreux sur le tier gratuit.
Matrice de décision
- Choisissez Azure DevOps Pipelines si : votre code est dans Azure Repos, vous êtes dans une grande organisation avec des besoins RBAC complexes, vous utilisez Azure Artifacts pour des packages internes, ou vous migrez depuis TFS/VSTS
- Choisissez GitHub Actions si : votre code est sur GitHub (la majorité des cas nouveaux), vous voulez l'écosystème le plus large d'actions communautaires, vous intégrez GitHub Advanced Security, ou vous déployez vers plusieurs clouds
- Les deux ensemble : Azure DevOps Boards + GitHub Actions est une combinaison courante — gestion de projet Azure DevOps, CI/CD GitHub Actions
Conclusion
En 2025, GitHub Actions est le choix par défaut pour les nouveaux projets — son écosystème d'actions communautaires (20 000+), son intégration DevSecOps native et sa syntaxe expressive en font la référence. Azure DevOps Pipelines reste pertinent pour les organisations déjà investies dans l'écosystème Azure DevOps, notamment pour la gestion des packages avec Azure Artifacts et les RBAC complexes.
