mcpField
J
jenkins

jenkins

github.com/checkmkテスト・品質2.6k77 回インストール今日更新
リポジトリ

jenkins について

jenkinsは、Jenkins CIの失敗診断とビルド成果物の確認を支援するSkillです。ステージやテスト結果、コンソール出力、サブジョブ、Playwrightトレースを調べる手順を示します。

主な機能

  1. 01ステージと失敗テストの確認
  2. 02サブジョブとコンソール詳細の確認
  3. 03実行中ビルドのポーリング
  4. 04ビルド成果物のダウンロード
  5. 05Playwrightトレースの解析

活用シーン

  1. 01ビルドで失敗したステージやテストの特定
  2. 02起動されたサブジョブのコンソール出力確認
  3. 03実行中ビルドの結果を継続確認
  4. 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

コメント