Axe DevTools Linterと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

コードをJenkinsビルドの一環として、アクセシビリティの問題をチェックするためにAxe DevTools Linterに送信できます。このガイドでは、Jenkinsでビルドステップを設定して、 Axe DevTools Linter Connector を呼び出し、発見されたアクセシビリティエラーをJenkinsに報告する方法を示します。

要件

JenkinsビルドにAxe DevTools Linterを追加するには、以下のソフトウェアをインストールする必要があります。

Jenkinsビルドスクリプトのインストール

サンプルJenkinsビルドスクリプトを含む圧縮tarファイルを持っているはずです。tarファイルは axeScripts.tar.gzと呼ばれるべきです。次のコマンドを入力することでスクリプトを解凍できます。

tar xvfz axeScripts.tar.gz

アーカイブから1つのファイルが抽出されるはずです。 axe-linter-jenkins-sonarqube.shスクリプトを編集して、Axe DevTools Linterインスタンスの正しいURLとポート(SaaSかオンプレミスか)を反映させてください。スクリプトには、12行目と13行目に変更が必要になるかもしれない環境変数が2つあります。

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

次のコマンドを使用して、管理者アカウントで /opt にディレクトリを作成してください。

sudo mkdir /opt/axeScripts

スクリプトを /opt/axeScriptsにコピーしてください。

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

スクリプトの実行フラグを設定してください。

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

ビルドステップの追加

この例では、既存のプロジェクトを使用し、新しいビルドステップを追加するだけです。

修正したいジョブを選択し、左側のパネルから 構成 を選択します。その後、 ビルド タブを選択してビルドセクションに進み、 ビルドステップの追加 ドロップダウンを選択して、 シェルを実行を選択します。

新しい シェルを実行 ビルドステップで、 コマンド テキストボックスに次を入力してください。

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

このビルドステップの 詳細設定... ボタンを選択して、Jenkinsにエラーを示す終了コードを設定します。 1 を入力してください。 ビルドを不安定に設定するための終了コード テキストボックス。このスクリプトは、アクセシビリティエラーがある場合に 1 を返します。

保存 」または「 適用 」を選択して、変更を受け入れます。

ビルドスクリプト

この axe-linter-jenkins-sonarqube.sh スクリプトは、Jenkinsビルドのルートディレクトリ内のファイルに対してAxe DevTools Linter Connectorを実行し、レポートを生成します。 axe-linter-report.jsonその後、このスクリプトはレポート内のエラーを検索し、 1を返してエラーを報告し、その結果、ビルドはJenkins内で 不安定 とマークされます。

ビルドスクリプトのソースコードは以下に示されています:

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

このスクリプトの結果は、Axe DevTools Linterによってアクセシビリティエラーが見つかるかどうかによる単純な合否です。Jenkinsに他の情報は送信されません。生成されたレポートは、 axe-linter-report.json ただし、ファイル名や行番号、アクセシビリティエラーの情報など、より具体的な情報を含んでいます。この情報をキャプチャする方法の一つとして、このレポートをSonarQubeにインポートすることがあります。詳細については、 SonarQubeとAxe DevTools Linterを使用する