Aller au contenu
learn

GitHub Actions — Mission

Ce site est compilé, testé et déployé par GitHub Actions : un déploiement Pages à chaque push, et une CI qui compile les exemples Rust, Java et C# des cours sous Linux, Windows et macOS. J’ai écrit ces workflows en copiant et en ajustant. Je veux comprendre ce que fait chaque ligne, pourquoi une exécution échoue, et comment la rendre rapide et sûre.

Tu sais compiler et tester un projet .NET ou Java en ligne de commande (dotnet test, mvn verify), et tu connais Git. Tu as peut-être utilisé un autre système de CI — Azure Pipelines, Jenkins, GitLab CI — mais ce n’est pas nécessaire.

  • lire n’importe quel fichier de workflow et dire quand il s’exécute, où, et dans quel ordre ;
  • compiler et tester du .NET et du Java sur trois systèmes d’exploitation avec une matrix et des caches ;
  • choisir les bons déclencheurs et filtres, et éviter les exécutions qui s’empilent ou ne démarrent jamais ;
  • transmettre des données entre steps et entre jobs, et contrôler ce qui se passe après un échec ;
  • réutiliser des workflows et des actions au lieu de les copier ;
  • sécuriser un workflow : permissions du token, secrets, actions épinglées, OIDC ;
  • déployer un site statique sur GitHub Pages ;
  • diagnostiquer une exécution en échec à partir de ses logs.
# Leçon Si tu connais Azure Pipelines
1 Premier workflow pipeline, stage, job, step, agent
2 Compiler et tester .NET et Java strategy: matrix, UseDotNet@2, Cache@2
3 Déclencheurs, filtres et concurrence trigger, pr, schedules, paramètres
4 Expressions, contextes et outputs $[ ], variables, variables de sortie, condition
5 Caches et artefacts Cache@2, PublishPipelineArtifact@1
6 Workflows réutilisables et actions composites templates de step, de job et de stage
7 Sécurité : permissions, secrets, épinglage, OIDC connexions de service, fédération d’identité de charge de travail
8 Déployer sur GitHub Pages environnements, approbations
9 Déboguer les exécutions system.debug, logs de diagnostic, relancer les jobs en échec
10 Écrire sa propre action tâches personnalisées, jobs conteneurs
— Journal