Examiner une version et tester une action
La surveillance de l’exécution du flux de travail et la gestion des versions d’action sont des compétences cruciales pour maintenir des pipelines CI/CD fiables. Examinons comment accéder aux journaux d’activité, résoudre les problèmes et contrôler efficacement les versions d’action.
Accès aux journaux de flux de travail
Affichage de la sortie d’exécution
Toutes les sorties d’action sont automatiquement capturées et accessibles via l’interface web GitHub :
- Accédez à l’onglet Actions : cliquez sur « Actions » dans la navigation supérieure de votre référentiel
- Sélectionner l’exécution du flux de travail : choisissez l’exécution de flux de travail spécifique que vous souhaitez examiner
- Afficher les détails du travail : cliquez sur un nom de travail pour afficher les sorties d’étape individuelles
- Développer les journaux d’étape : cliquez sur n’importe quelle étape pour afficher sa sortie de console détaillée
Débogage amélioré
Pour une résolution plus approfondie des problèmes, activez la journalisation du débogage en ajoutant ces secrets de référentiel :
# Enable runner diagnostic logging
ACTIONS_RUNNER_DEBUG: true
# Enable step debug logging
ACTIONS_STEP_DEBUG: true
La journalisation du débogage fournit les éléments suivants :
- Informations détaillées sur l’environnement de l’exécuteur
- Traces d’exécution pas à pas
- Messages d’erreur étendus et suivis de pile
- Détails de l’opération réseau et système de fichiers
Pour plus d’informations, consultez Activation de la journalisation du débogage.
Gestion des versions d’action
Le choix de la stratégie de version d’action appropriée équilibre la stabilité, la sécurité et les mises à jour des fonctionnalités. Chaque approche a des cas d’usage spécifiques :
Balises de version sémantique (recommandé)
Utilisez des balises de version sémantique pour les versions prévisibles et stables :
steps:
- name: Checkout code
uses: actions/checkout@v4 # Major version (gets latest v4.x.x)
- name: Setup Node.js
uses: actions/setup-node@v4.0.2 # Exact version for critical dependencies
Avantages :
- Correctifs automatiques et mises à jour mineures dans la version principale
- Les modifications cassants se produisent uniquement entre les versions principales
- Effacer la progression des versions et le suivi des modifications
Références de validation SHA (sécurité maximale)
Épingler à des validations spécifiques pour une sécurité et une reproductibilité maximales :
steps:
- name: Deploy with exact commit
uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
Avantages :
- Référence immuable : le code d’action ne peut pas changer
- Sécurité la plus élevée pour les environnements de production
- Auditabilité complète des dépendances d’action
Inconvénients :
- Aucune mise à jour de sécurité automatique
- Effort manuel nécessaire pour mettre à jour les versions
Références de branche (mises à jour continues)
Référencez les branches pour recevoir automatiquement les dernières mises à jour :
steps:
- name: Use cutting-edge features
uses: actions/cache@main # Gets latest from main branch
- name: Test beta features
uses: custom-org/deploy-action@develop # Development branch
Cas d’usage :
- Test de nouvelles fonctionnalités avant la mise en production
- Environnements de développement et de préproduction
- Quand vous avez besoin des derniers correctifs de bogues immédiatement
Risques :
- Changements cassants potentiels sans préavis
- Stabilité réduite dans les flux de travail de production
Meilleures pratiques en matière de stratégie de gestion des versions de processus
Approche recommandée du contrôle de version par environnement :
| Environnement | Stratégie | Example | Justification |
|---|---|---|---|
| Production | Balises de version principale ou SHA |
@v4 ou @abc123 |
Stabilité et sécurité |
| Mise en lots | Balises de version exactes | @v4.2.1 |
Tests contrôlés |
| Développement | Références de branche | @main |
Fonctionnalités les plus récentes |
Considérations relatives à la sécurité
- Épingler les actions critiques : utiliser des références SHA pour les actions de déploiement et de sécurité
- Passer en revue les mises à jour : tester les nouvelles versions dans les environnements hors production en premier
- Surveiller les dépendances : utiliser des outils tels que Dependabot pour suivre les mises à jour d’action
- Sources d’action d’audit : utilisez uniquement les actions des éditeurs approuvés
Workflow de gestion des mises à jour
# Example: Controlled action updates with testing
name: Update Dependencies
on:
schedule:
- cron: "0 2 * * 1" # Weekly on Monday at 2 AM
jobs:
update-actions:
runs-on: ubuntu-latest
steps:
- name: Check for action updates
uses: actions/setup-node@v4
- name: Test with new versions
run: npm test
- name: Create update PR
if: success()
uses: peter-evans/create-pull-request@v5
Tests et validation
Ressources d’apprentissage pratiques
Pratiquez le développement d’actions avec les didacticiels interactifs de GitHub :
-
Compétences GitHub : Hello GitHub Actions - Didacticiel interactif couvrant :
- Organisation et structure des fichiers de flux de travail
- Écriture de scripts et de commandes exécutables
- Création de blocs de flux de travail et d’action
- Déclenchement de flux de travail avec différents événements
- Interprétation des journaux de flux de travail et résolution des problèmes
Outils de test locaux
- act : Exécuter GitHub Actions localement pour des tests rapides
- Interface CLI GitHub : Interagir avec les actions via la ligne de commande
-
Débogage d’action : utiliser l’action
tmatepour les sessions de débogage SSH interactives
Liste de contrôle des tests
Avant de déployer des actions en production :
- Tester dans l’environnement de développement
- Vérifier avec plusieurs scénarios d’entrée
- Vérifier la gestion des erreurs et les cas limites
- Valider la sécurité et les autorisations
- Revoir les journaux d'activité pour vérifier l'exposition d'informations sensibles.