Usando Axe DevTools Linter com Jenkins

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
Free Trial
Not for use with personal data

Você pode enviar o seu código para o Axe DevTools Linter para verificar problemas de acessibilidade como parte de uma construção no Jenkins. Este guia mostra como configurar uma etapa de construção no Jenkins para invocar o Conector Axe DevTools Linter e reportar ao Jenkins quaisquer erros de acessibilidade encontrados.

Requisitos

Para adicionar o Axe DevTools Linter às construções do Jenkins, você precisa ter o seguinte software instalado:

Instalando o Script de Construção do Jenkins

Você deve ter um arquivo tar compactado contendo o script de construção do Jenkins de exemplo. O arquivo tar deve se chamar axeScripts.tar.gz. Você pode extrair o script digitando o seguinte:

tar xvfz axeScripts.tar.gz

Deve haver um arquivo extraído do arquivo compactado, axe-linter-jenkins-sonarqube.sh. Edite o script para refletir a URL e porta corretas da sua instância do Axe DevTools Linter (seja SaaS ou local). Há duas variáveis de ambiente no script nas linhas 12 e 13 que você pode precisar alterar, conforme mostrado abaixo:

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

Agora crie um diretório em /opt com a conta de administrador usando o seguinte comando:

sudo mkdir /opt/axeScripts

Copie o script para /opt/axeScripts:

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

Defina a permissão de execução do script:

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

Adicionando uma Etapa de Construção

Para este exemplo, você usará um projeto existente e simplesmente adicionará uma nova etapa de construção.

Escolha o trabalho que você gostaria de modificar e escolha Configurar no painel à esquerda. Em seguida, selecione a aba Construção para rolar até a seção Construção, onde você escolherá o dropdown Adicionar etapa de construção e selecionará Executar shell.

Na nova etapa de construção Executar shell , digite o seguinte na caixa de texto Comando :

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

Selecione o botão Avançado... nesta etapa de construção para definir o código de saída que indicará um erro para o Jenkins. Digite 1 na caixa de texto Código de saída para definir construção instável caixa de texto. O script retorna 1 se houverem erros de acessibilidade.

Escolha Salvar ou Aplicar para aceitar suas alterações.

O Script de Construção

O axe-linter-jenkins-sonarqube.sh script executa o Axe DevTools Linter Connector nos arquivos no diretório raiz da construção Jenkins e gera um relatório, axe-linter-report.json. O script então busca no relatório por quaisquer erros e os reporta retornando 1, o que faz com que a construção seja marcada como instável no Jenkins.

O código-fonte do script de construção é mostrado abaixo:

#!/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

O resultado deste script é uma simples avaliação de sucesso/falha dependendo se foram encontrados erros de acessibilidade pelo Axe DevTools Linter. Nenhuma outra informação é enviada para o Jenkins. O relatório gerado, axe-linter-report.json no entanto, contém informações mais específicas sobre erros de acessibilidade: nome do arquivo, número da linha e informações sobre o erro de acessibilidade. Uma maneira de capturar essas informações é importar o relatório para o SonarQube. Para mais informações, veja Usando Axe DevTools Linter com SonarQube