プロジェクトを構築するJenkinsマスタービルドサーバーがあります。大画面に「ラジエーター」ビューを表示する別のJenkinsマスタービルドサーバーがあります。
2番目のラジエータービューの最初のマスターのビルド結果を表示できますか?
プロジェクトを構築するJenkinsマスタービルドサーバーがあります。大画面に「ラジエーター」ビューを表示する別のJenkinsマスタービルドサーバーがあります。
2番目のラジエータービューの最初のマスターのビルド結果を表示できますか?
これとまったく同じニーズがありました。これを直接行うための Jenkins サポートまたはプラグインはないようです。そこで、他の Jenkins マスター API をポーリングしてビルド ステータスをミラーリングする小さな bash スクリプトを作成することになりました。これを 10 分ごとにトリガーするように設定しています。これを実行するには、curl と jq をインストールする必要があります。
次のように実行します。./jenkins_monitor.sh https://jenkins.example.com/job/my-job-name/
#!/bin/bash
# Remote Jenkins job monitoring script that polls the API to mirror the job status
# Useful for pulling status of jobs on other Jenkins servers into a Walldisplay
JOB_URL="$1"
if [ "$JOB_URL" == "" ]; then
echo "Usage: $0 http://{jenkins-server}/job/{job-name}"
exit
fi
JOB_DATA=`curl --fail --insecure --silent --show-error 2>&1 "${JOB_URL}/lastBuild/api/json"`
JOB_RESULT=`echo $JOB_DATA|jq .result 2>/dev/null`
if [ "$JOB_RESULT" == "" ]; then
echo "Error when retrying Jenkins job info:"
echo $JOB_DATA
exit 1
fi
echo "Job status is: ${JOB_RESULT}"
if [ "$JOB_RESULT" == '"FAILURE"' ]; then
echo "Remote job failed"
exit 1
elif [ "$JOB_RESULT" == 'null' ]; then
echo "Remote job is building"
else
echo "Job seems to be fine"
fi