Utilizzo di axe DevTools Linter con Jenkins

Link to Utilizzo di axe DevTools Linter con Jenkins copied to clipboard
Free Trial
Not for use with personal data

Puoi inviare il tuo codice ad axe DevTools Linter affinché venga verificato l'eventuale presenza di problemi di accessibilità come parte di una build di Jenkins. Questa guida mostra come impostare una fase di build in Jenkins per richiamare axe DevTools Linter Connector e segnalare a Jenkins eventuali errori di accessibilità rilevati.

Requisiti

Per aggiungere axe DevTools Linter alle build di Jenkins, è necessario installare il seguente software:

Installazione dello script di compilazione di Jenkins

Dovresti avere un file tar compresso contenente lo script di compilazione di esempio di Jenkins. Il file tar dovrebbe chiamarsi axeScripts.tar.gz. È possibile estrarre lo script digitando quanto segue:

tar xvfz axeScripts.tar.gz

Dovrebbe essere estratto un file dall'archivio, axe-linter-jenkins-sonarqube.sh. Modifica lo script in modo che rifletta l'URL e la porta corretti della tua istanza di axe DevTools Linter (sia essa SaaS o locale). Ci sono due variabili d'ambiente nello script alle righe 12 e 13 che potrebbe essere necessario modificare, come mostrato di seguito:

export AXE_LINTER_SERVER_URL=http://localhost
export AXE_LINTER_SERVER_PORT=3000

Ora crea una directory in /opt con l'account amministratore utilizzando il seguente comando:

sudo mkdir /opt/axeScripts

Copia il script in /opt/axeScripts:

sudo cp axe-linter-jenkins-sonarqube.sh /opt/axeScripts

Imposta il flag di esecuzione dello script:

sudo chmod +x /opt/axeScripts/axe-linter-jenkins-sonarqube.sh

Aggiunta di una fase di build

Per questo esempio, userai un progetto esistente e aggiungerai semplicemente un nuovo passaggio di compilazione.

Seleziona il lavoro che desideri modificare e seleziona Configura nel pannello di sinistra. Quindi seleziona la scheda Compilazione per scorrere fino alla sezione Compilazione, dove sceglierai il menu a discesa Aggiungi passaggio di compilazione e selezionerai Esegui comando shell.

Nel nuovo passaggio di compilazione Esegui comando shell , immettere quanto segue nella casella di testo Comando :

/opt/axeScripts/axe-linter-jenkins-sonarqube.sh

Selezionare il pulsante Avanzate... in questa fase di build per impostare il codice di uscita che indicherà un errore a Jenkins. Inserisci 1 nella casella di testo Codice di uscita per rendere instabile la compilazione . Lo script restituisce 1 se sono presenti errori di accessibilità.

Scegli Salva o Applica per accettare le modifiche.

Lo script di compilazione

Lo script axe-linter-jenkins-sonarqube.sh esegue axe DevTools Linter Connector sui file nella directory radice della build di Jenkins e genera un report, axe-linter-report.json. Lo script cerca quindi eventuali errori nel report e li segnala restituendo 1, il che determina la marcatura della build come instabile in Jenkins.

Di seguito è riportato il codice sorgente per lo script di compilazione:

#!/bin/bash
# axe-linter-jenkins-sonarqube.sh
# This script will setup the environment variables needed for axe-linter-connector
# and execute axe-linter-connector. The output file will be reviewed and call back with exit codes:
## 0 - No Accessibility Defects
## 1 - axe DevTools Linter Detected Accessibility Defects
## 2 - Execution problem, or axe DevTools Linter unavailable.

echo "axe DevTools Linter Jenkins SonarQube Starting $(date)"

# Setup variables for axe DevTools Linter
export AXE_LINTER_SERVER_URL=http://localhost
export AXE_LINTER_SERVER_PORT=3000

# Configure outfile: output in Generic Issue Import Format for SonarQube in execution directory.

OutFile="axe-linter-report.json"

# Remove previous results
rm $OutFile

# execute axe-linter-connector
axe-linter-connector -s . -d .

echo "Checking for Results $(date)"

if [ ! -f "$OutFile" ];
   then
     echo "$OutFile Does Not Exit"
     exit 2

   elif cat "$OutFile" | grep -q "BUG"; then
      echo "axe DevTools Linter Accessibility Defect Detected"
      exit 1
   else
     echo "No axe DevTools Linter Bugs Detected"
fi
exit 0

Il risultato di questo script è un semplice superato/fallito, a seconda che axe DevTools Linter abbia rilevato o meno errori di accessibilità. Nessun'altra informazione viene inviata a Jenkins. Il report generato, axe-linter-report.json , contiene tuttavia informazioni più specifiche sugli errori di accessibilità: nome file, numero di riga e informazioni sugli errori di accessibilità. Un modo per acquisire queste informazioni è importare il report in SonarQube. Per ulteriori informazioni, vedere Utilizzo di axe DevTools Linter con SonarQube