Axe Watcher dans les environnements d'intégration continue (CI)
Comment Axe Watcher détecte les pipelines CI et utilise des sources canoniques pour les bases de test d'accessibilité
Lorsque Axe Watcher s'exécute en intégration continue (CI) sur la branche Git par défaut de votre dépôt (par exemple, main), ce résultat devient la source canonique (la seule base de référence à laquelle chaque autre analyse est comparée).
Que signifie Source Canonique
- Seule la branche par défaut est qualifiée. Les exécutions de pipelines sur des branches de fonctionnalités ou des branches de pull request sont enregistrées, mais elles ne deviennent pas la source canonique.
- La dernière exécution de pipeline l'emporte. Chaque nouvelle exécution CI sur la branche par défaut remplace la base précédente, de sorte que les comparaisons reflètent toujours l'état CI le plus récent.
- Les exécutions locales se comparent au CI. Lorsque un développeur exécute Axe Watcher localement, ses résultats sont comparés à la dernière source canonique plutôt qu'à son propre scan le plus récent. Cela donne à chaque membre de l'équipe un point de référence commun au lieu de bases de référence individuelles, potentiellement divergentes.
Autorisations requises
La clé API utilisée dans votre pipeline CI doit appartenir à un projet admin.
Les membres de projet non-admin ne peuvent pas envoyer de données par un pipeline (la demande échouera avec une erreur).
Lors de la configuration de votre environnement CI, assurez-vous que la clé API a été générée à partir d'un compte avec un accès admin au projet cible dans Axe Developer Hub.
Exécutions de pipeline sur des branches non-défaites
Vous pouvez exécuter Axe Watcher en CI sur n'importe quelle branche, mais le comportement diffère de celui des exécutions sur la branche par défaut :
- Les résultats sont attribués à « Pipeline », pas à l'utilisateur individuel dont la clé API a été utilisée. Dans Axe Developer Hub, les données de pipeline apparaissent sous une entrée « Pipeline » dédiée plutôt que sous un membre d'équipe spécifique.
- Ces exécutions ne deviennent pas la source canonique. Seules les exécutions de pipeline sur la branche par défaut définissent la base pour les comparaisons.
- Les résultats des branches de fonctionnalités sont toujours enregistrés. Ils sont visibles dans Axe Developer Hub lorsque la vue « Pipeline » est sélectionnée, ce qui est utile pour examiner l'accessibilité sur les pull requests avant de les fusionner.
Détection CI
Axe Watcher détermine s'il s'exécute en CI via des variables d'environnement :
-
Variable CI standard : Si
CIest défini surtrue, Watcher considère l'exécution comme une exécution de pipeline et définit la source canonique en conséquence. La plupart des plateformes CI définissent cela automatiquement (voir Support de la plateforme). -
Substitution explicite :
AXE_IS_CIa la priorité surCIlorsqu'ils sont tous deux présents.Utilisez
AXE_IS_CIlorsque la variableCIstandard ne correspond pas à vos besoins :-
Activer le mode CI dans un environnement non standard, par exemple, un runner auto-hébergé ou une tâche planifiée qui ne définit pas
CIsurtrueen définissantAXE_IS_CIsurtrue. -
Désactiver le mode CI dans un pipeline, par exemple, pour exécuter une analyse exploratoire en CI sans écraser la source canonique en définissant
AXE_IS_CIsurfalse.
-
Lorsque AXE_IS_CI est défini, la valeur de CI est entièrement ignorée.
Support de la plateforme
| Plateforme | CI définit true par défaut |
Documentation |
|---|---|---|
| GitHub Actions | oui | GitHub Docs - Référence des variables |
| GitLab CI | oui | GitLab Docs - Variables prédéfinies |
| CircleCI | oui | Docs CircleCI - Valeurs et variables du projet |
| Bitbucket Pipelines | oui | Assistance Atlassian - Variables et secrets |
| Jenkins | non (définir CI=true ou AXE_IS_CI=true dans votre bloc environment) |
Utilisation des variables d'environnement |
Révocation de la clé API
Si la clé API utilisée dans votre pipeline CI est supprimée ou si le compte utilisateur associé est désactivé, les exécutions de pipeline n'authentifieront plus avec succès. Les résultats précédemment enregistrés restent visibles dans Axe Developer Hub, mais aucune nouvelle donnée ne peut être envoyée tant que le pipeline n'est pas reconfiguré avec une clé API d'administrateur valide.
Pour éviter les échecs de CI lorsque des membres de l'équipe partent ou changent de clés, envisagez d'utiliser un compte de service dédié pour les clés API de pipeline.
