Utilizzo di Axe DevTools Linter con Bitbucket Pipelines

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Come configurare un passo di Bitbucket Pipelines per controllare il codice alla ricerca di problemi di accessibilità usando Axe DevTools Linter

Free Trial
Not for use with personal data

Puoi inviare il tuo codice a Axe DevTools Linter per essere verificato per problemi di accessibilità come parte di una build di Bitbucket Pipelines. A differenza di GitHub, non esiste una pipe dedicata di Bitbucket per Axe DevTools Linter, quindi questa guida mostra come invocare il Axe DevTools Linter Connector direttamente come un passo nel tuo bitbucket-pipelines.yml.

Requisiti

Passo 1: Aggiungi una Variabile di Repository per la Tua Chiave

Aggiungi la tua chiave come variabile protetta del repository in modo che non sia esposta nei log del tuo pipeline. Vai alla pagina Impostazioni del repository del tuo repository, poi Variabili del repository, e aggiungi una delle seguenti, contrassegnata Protetto:

  • AXE_LINTER_API_KEY per una chiave API
  • AXE_LINTER_LICENSE_KEY per una chiave di licenza

Per maggiori informazioni, consulta la documentazione di Bitbucket su variabili e segreti del repository.

Passo 2: Aggiungi un Passo al Pipeline

tip

Deque raccomanda il linting locale (come mostrato di seguito) per Bitbucket Pipelines: è significativamente più veloce e, con una chiave di licenza, evita anche il problema se i runner ospitati di Bitbucket possano raggiungere il tuo server Axe DevTools Linter.

Aggiungi un passo al tuo bitbucket-pipelines.yml che installa il Connector e lo esegue con l'opzione --local. Il linting locale analizza i tuoi file sul runner del pipeline stesso anziché inviarli a un server, quindi funziona lo stesso modo indipendentemente dal fatto che la tua distribuzione sottostante sia SaaS, cloud privato o on-premise.

Con una Chiave di Licenza

L'uso di una chiave di licenza significa che il Connector non effettua alcuna chiamata di rete:

image: node:20

pipelines:
  default:
    - step:
        name: Lint for accessibility issues
        script:
          - npm install -g @axe-devtools/axe-linter-connector
          - axe-linter-connector -s . -d . --license-key $AXE_LINTER_LICENSE_KEY --local

Con una Chiave API

L'uso di una chiave API richiede ancora che il Connector raggiunga un server di autenticazione per convalidare la chiave e registrare l'uso, anche con --local:

image: node:20

pipelines:
  default:
    - step:
        name: Lint for accessibility issues
        script:
          - npm install -g @axe-devtools/axe-linter-connector
          - axe-linter-connector -s . -d . --api-key $AXE_LINTER_API_KEY --local

Per Axe DevTools Linter SaaS, il server di autenticazione predefinito (https://axe.deque.com) viene usato automaticamente. I clienti del cloud privato devono impostare la variabile d'ambiente AXE_SERVICE_URL all'URL di autenticazione della propria istanza di cloud privato prima di eseguire il Connector.

Linting Basato su Server (Alternativa)

Se non vuoi eseguire il linting localmente, puoi invece inviare i file a un server Axe DevTools Linter omettendo --local e specificando --url. Quale server tu possa raggiungere dipende dal tuo modello di distribuzione:

  • SaaS: i runner ospitati di Bitbucket possono raggiungere il server SaaS di Deque senza alcun setup aggiuntivo, poiché è già raggiungibile da internet.
  • On-premises: non esporre il tuo server on-prem a internet solo per consentire ai runner ospitati di Bitbucket di raggiungerlo. Invece, usa un runner auto-ospitati di Bitbucket in modo che il tuo passo di pipeline venga eseguito all'interno della tua rete, nello stesso modo in cui il tuo server on-prem viene raggiunto da altri strumenti interni.

Risultati del Passo nel Pipeline

Il Connector scrive un report di accessibilità nella directory di destinazione (axe-linter-report.json di default), contenente gli errori specifici di accessibilità trovati, inclusi nome del file e numero di riga. Le violazioni di accessibilità da sole non cambiano il codice di uscita del Connector o fanno fallire il passo di Bitbucket; il Connector esce con un codice diverso da zero solo in caso di un problema con la scansione stessa, come un'opzione mancante, un server irraggiungibile o una chiave rifiutata. Consulta Codici di Uscita per l'elenco completo.

note

Se vuoi che il passo del pipeline fallisca quando vengono trovate violazioni di accessibilità, aggiungi un passo di script che ispeziona il report generato ed esce con un codice diverso da zero, simile allo script di build mostrato in Uso di Axe DevTools Linter con Jenkins.

Prossimi Passi

Per informazioni sulle regole usate da Axe DevTools Linter per controllare il tuo codice, consulta Regole di Accessibilità. Se desideri inviare il report a SonarQube, vedi Uso di Axe DevTools Linter con SonarQube.