jenkins について
jenkinsは、Jenkins CIの失敗診断とビルド成果物の確認を支援するSkillです。ステージやテスト結果、コンソール出力、サブジョブ、Playwrightトレースを調べる手順を示します。
主な機能
- 01ステージと失敗テストの確認
- 02サブジョブとコンソール詳細の確認
- 03実行中ビルドのポーリング
- 04ビルド成果物のダウンロード
- 05Playwrightトレースの解析
活用シーン
- 01ビルドで失敗したステージやテストの特定
- 02起動されたサブジョブのコンソール出力確認
- 03実行中ビルドの結果を継続確認
- 04トレースデータによるGUIテスト失敗の調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ checkmk/ checkmk --skill jenkinsインストール後、Claude Code で/jenkinsを入力して読み込まれたか確認します。
詳細
CI の失敗を診断する
必ずここから始めてください。ステージ、テストの失敗、サブジョブの URL を一度に確認できます。
jenkins_build_data.py <URL> --include=stages,tests --failed-only
トリガーされたサブジョブ(ステージの出力に Job: <url> と表示されます)の詳細を確認します。
jenkins_build_data.py <triggered-job-url> --include=console,tests
コンソール全体(デフォルトでは末尾 100 行を表示します)。
jenkins_build_data.py <URL> --include=full-console
実行中のビルドをポーリングします。
jenkins_build_data.py <URL> --include=stages,tests --poll --poll-interval=60
curl は使用しないでください。このツールが認証、ステージの関連付け、テスト結果の解析を処理します。
アーティファクトのダウンロード
ダウンロード先には必ず /tmp/jenkins-artifacts を使用してください。
jenkins_build_data.py <url> --download "<artifact>" --download-dir /tmp/jenkins-artifacts
ダウンロードした json の解析
python3 コマンドより jq を優先してください。
失敗した GUI E2E テストの Playwright トレース解析
GUI E2E テストが失敗した場合、ビルドアーティファクトとして Playwright のトレース ZIP が用意されていることがよくあります。
1. トレースを見つけてダウンロードする
アーティファクトを一覧表示し、トレースを見つけます(*trace* または *.zip に一致するファイルを探します)。
jenkins_build_data.py <url> --include=artifacts
ダウンロードします。
jenkins_build_data.py <url> --download "<artifact-path>" --download-dir /tmp/jenkins-artifacts
2. playwright-trace-analyzer でトレースを解析する
playwright-trace-analyzer は、ブラウザーを使わずにトレース ZIP を調べる CLI ツールです。
使用する前に、インストールされていることを確認してください。
playwright-trace-analyzer --version
コマンドが見つからない場合は、インストールするようユーザーに依頼してください。
uv tool install playwright-trace-analyzer
まず概要を確認します。
playwright-trace-analyzer summary /tmp/jenkins-artifacts/<trace>.zip
次にアクションの詳細を調べ、失敗した箇所を特定します。
playwright-trace-analyzer actions /tmp/jenkins-artifacts/<trace>.zip
失敗が API に関連している可能性がある場合は、ネットワークリクエストを確認します。
playwright-trace-analyzer network /tmp/jenkins-artifacts/<trace>.zip
ブラウザーコンソールのエラーを確認します。
playwright-trace-analyzer console /tmp/jenkins-artifacts/<trace>.zip
ビルドを永久に保持する設定
Jenkins によるビルドのガベージコレクションを防ぐには(不安定なテストの証拠を保持する場合など)、toggleLogKeep API エンドポイントを使用します。認証には ~/.netrc を使用します(jenkins_build_data.py と同じです)。
python3 -c "
import netrc, urllib.request, base64
n = netrc.netrc()
login, _, password = n.authenticators('ci.lan.tribe29.com')
url = '<BUILD_URL>/toggleLogKeep'
req = urllib.request.Request(url, method='POST', data=b'')
credentials = base64.b64encode(f'{login}:{password}'.encode()).decode()
req.add_header('Authorization', f'Basic {credentials}')
resp = urllib.request.urlopen(req)
print(f'Status: {resp.status}')
"
<BUILD_URL> を Jenkins ビルドの完全な URL(例:https://ci.lan.tribe29.com/job/checkmk/job/master/.../123)に置き換えてください。これは切り替え式です。もう一度呼び出すと、「永久に保持」のフラグが解除されます。
$JENKINS_API_TOKEN を指定して curl を使用しないでください。機能しません。上記のように ~/.netrc の認証情報を使った Basic 認証を使用してください。
jenkins_build_data.py コマンドが見つからない場合
ユーザーに zeug_cmk git リポジトリをクローンし、PATH に追加するよう依頼してください。 こちらも参照してください:https://wiki.lan.checkmk.net/x/4zBSCQ