Axe Watcher negli Ambienti di Integrazione Continua (CI)
Come Axe Watcher rileva le pipeline CI e utilizza fonti canoniche per i baselines dei test di accessibilità
Quando Axe Watcher viene eseguito in integrazione continua (CI) sul ramo Git predefinito del tuo repository (ad esempio, main), quel risultato diventa la fonte canonica (l'unico baseline che ogni altra scansione viene confrontata).
Cosa Significa Fonte Canonica
- Solo il ramo predefinito è idoneo. Le esecuzioni delle pipeline sui rami delle funzionalità o sui rami delle pull request vengono registrate, ma non diventano la fonte canonica.
- L'ultima esecuzione della pipeline vince. Ogni nuova esecuzione CI sul ramo predefinito sostituisce il baseline precedente, quindi i confronti riflettono sempre lo stato CI più recente.
- Le esecuzioni locali si confrontano con il CI. Quando uno sviluppatore esegue Axe Watcher localmente, i suoi risultati vengono confrontati con l'ultima fonte canonica anziché con la propria scansione più recente. Ciò offre a ogni membro del team un punto di riferimento condiviso invece di baselines potenzialmente divergenti.
Permessi Richiesti
La chiave API utilizzata nella tua pipeline CI deve appartenere a un progetto amministratore.
I membri del progetto non amministratori non possono inviare dati attraverso una pipeline (la richiesta fallirà con un errore).
Quando configuri il tuo ambiente CI, assicurati che la chiave API sia stata generata da un account con accesso di amministratore al progetto target in Axe Developer Hub.
Esecuzioni della Pipeline su Rami Non Predefiniti
Puoi eseguire Axe Watcher in CI su qualsiasi ramo, ma il comportamento differisce dalle esecuzioni su rami predefiniti:
- I risultati sono attribuiti a "Pipeline", non all'utente individuale la cui chiave API è stata utilizzata. In Axe Developer Hub, i dati della pipeline appaiono sotto una voce dedicata "Pipeline" anziché sotto un membro specifico del team.
- Queste esecuzioni non diventano la fonte canonica. Solo le esecuzioni delle pipeline sul ramo predefinito impostano il baseline per i confronti.
- I risultati dei rami delle funzionalità sono comunque registrati. Sono visibili in Axe Developer Hub quando viene selezionata la visualizzazione "Pipeline", il che è utile per la revisione dell'accessibilità sulle pull request prima della fusione.
Rilevamento CI
Axe Watcher determina se è in esecuzione in CI tramite variabili d'ambiente:
-
Variabile standard CI: Se
CIè impostato sutrue, Watcher tratta l'esecuzione come un'esecuzione della pipeline e imposta di conseguenza la fonte canonica. La maggior parte delle piattaforme CI imposta automaticamente questo parametro (vedi Supporto della piattaforma). -
Override esplicito:
AXE_IS_CIha la precedenza suCIquando entrambi sono presenti.Utilizza
AXE_IS_CIquando la variabileCIstandard non corrisponde alle tue esigenze:-
Abilita la modalità CI in un ambiente non standard, per esempio, un runner auto-ospitato o un'attività programmata che non imposta
CIsutrueimpostandoAXE_IS_CIsutrue. -
Disabilita la modalità CI in una pipeline, ad esempio, per eseguire una scansione esplorativa in CI senza sovrascrivere la fonte canonica impostando
AXE_IS_CIsufalse.
-
Quando AXE_IS_CI è impostato, il valore di CI viene completamente ignorato.
Supporto della Piattaforma
| Piattaforma | CI imposta true di default |
Documentazione |
|---|---|---|
| Azioni GitHub | sì | GitHub Docs - Riferimento alle Variabili |
| GitLab CI | sì | GitLab Docs - Variabili Predefinite |
| CircleCI | sì | CircleCI Docs - Valori e Variabili del Progetto |
| Bitbucket Pipelines | sì | Atlassian Support - Variabili e Segreti |
| Jenkins | no (imposta CI=true o AXE_IS_CI=true nel tuo blocco environment) |
Uso delle variabili d'ambiente |
Revoca della Chiave API
Se la chiave API utilizzata nel tuo pipeline CI viene eliminata o l'account utente associato viene disattivato, le esecuzioni del pipeline non autenticheranno più con successo. I risultati registrati in precedenza rimangono visibili nell'Axe Developer Hub, ma non possono essere inviati nuovi dati finché il pipeline non viene riconfigurato con una valida chiave API amministrativa.
Per evitare fallimenti nel CI quando i membri del team lasciano o ruotano le chiavi, considera di utilizzare un account di servizio dedicato per le chiavi API del pipeline.
