しもむブログ

技術メモ。といっても高度なことは書けないので…初心者がハマったところや、ググってもすぐには出てこないようなものを書くつもり。

Bitbucket ServerのウェブフックとJenkinsのGeneric Webhook Triggerでジョブを自動実行する

はじめに

先に結論

  • Parameterized Builds for Jenkinsはプロジェクト単位でJenkinsのURLを登録できるので、適切な単位でプロジェクトを分けましょう

やったこと

  • JenkinsにGeneric Webhook Trigger プラグインを入れる
    • http://JENKINS_URL/generic-webhook-trigger/invokeがトリガーになる
  • Bitbucket Serverのウェブフックを設定する
    • 上記のURLを設定

f:id:mshimomu:20181114015428p:plain

  • Jenkinsジョブのビルド・トリガを設定する

  • シェルの実行を書く

echo ---------------------------------------------------
echo "ジョブ開始"
echo "プルリクエスト: ${payload_title}"
echo "ブランチ: ${payload_branch}"
echo ---------------------------------------------------
echo 


git fetch origin
BRANCH=`echo $payload_branch |sed "s/refs\/heads\///"`
echo ---------------------------------------------------
echo "branch is $BRANCH"
echo ---------------------------------------------------
git reset --hard origin/${BRANCH}

chmod +x gradlew
  • できた

f:id:mshimomu:20181114214400p:plain

f:id:mshimomu:20181114214428p:plain

その他

  • 今回はプルリクエストだけをトリガーにしたが、Repository eventsとPull request eventsの両方をトリガーにしたい場合は、eventKeyを条件にしないといけなさそう