Jenkinsビルドをトリガーするようにbitbutcketを構成したいと思います。
私はこれを調査するのにしばらく時間を費やしてきましたが、すべての答えは数年前のものであり、物事が変わったように見えるため、ガイドは見つかりませんでした。
私がやろうとしていること:特定のブランチへのbitbucket Pushはビルドをトリガーします。
私が持っているもの:任意のブランチへのプッシュでJenkinsへのHTTPリクエストを起動するBitbucket Webフック。ジョブ構成にチェックボックスを追加するBitbucketプラグインをJenkinsにもインストールしましたBuild when a change is pushed to BitBucket
。 SCMセクションの構成済みブランチにプッシュしたにもかかわらず、このチェックボックスは機能していないようです(たぶん、間違って設定しましたか?このための最小限のドキュメントです)。
問題1:BitbucketはGETを発行しませんが、403を引き起こす別のリクエストを発行します。私はpostmanでテストしましたが、GETで機能しますが、ポスト。
問題2:このHTTPビルドリクエストは、任意のブランチへのプッシュで発生します。ビルドはまだ特定のブランチに制限されていますが、常に再ビルドする必要はないようです。
これらの問題にどのように対処しますか? Bitbucketは、これをカスタマイズする上で非常に柔軟ではないようです。 bitbucketのJenkinsプラグインには、多くの「悪い」レビューがあります。開発者は現在これをどのように行っていますか?
JenkinsのURLはbitbucketサーバーからアクセスできますか?はいの場合、それを行うのはかなり簡単です。 Webhookをリポジトリにhttp://<url-of-jenkins>/git/notifyCommit?url=<url-of-repository>
として追加します。 jenkinsがこのPOSTを受信すると、webhookで指定したURLでこのgitリポジトリを使用するジョブのビルドを自動的にトリガーします。
しかし、それらのジョブに対してBuild Schedule
が空に設定されていることを確認する必要もあります。それ以外の場合はトリガーされません。 Webhook URLでもブランチを指定できます
こちらからPush Notification from repository
をご覧ください
https://wiki.jenkins.io/display/JENKINS/Git+Plugin
Jenkins CIサーバーの特定のソリューション-Webhook to Jenkins for Bitbucketプラグインは、最新バージョンのBit-Bucketで商品化されており、現在の価格は約$ 4800です。お金を節約したい人は、ビットバケットのウェブフック機能を使用して別のソリューションに行くことができます:-
Webhookを作成する手順:-
BitBucket側
1)bitbucketリポジトリに移動し、[リポジトリ設定]をクリックします。[ワークフロー]で[WEBHOOKS]オプションを取得し、Webhookを作成します。
a)webhookの作成:-URL https://JenkinsserverURL/git/notifyCommit?url=https://bitbucket.repository-link/repository.git
b)名前タブで、任意の名前を付けます
c)保存する前に[テスト接続]をクリックします。 httpステータス200を取得していることを確認してくださいd)ログの詳細を表示し、リクエストとレスポンスが正しいことを確認します。
ジェンキンス側からの注意事項:-
1)bitbucket webhookで言及されているリポジトリがJenkinsジョブで使用されていることを確認します。 2)SCMオプションで、ポーリングSCMオプションをアクティブ化/選択し、スケジュールに何も言及せず、空白のままにします。 3)休憩ジョブを設定します。
Git repoが変更を監視するたびに、Jenkinsで自動ビルドがトリガーされます。デフォルトではプッシュトリガーがアクティブになっています。他のアクションをアクティブにする場合は、Webhookの作成中にそれらのイベントを選択してください。
***リポジトリwebhookでブランチを指定するには:-
http://yourserver/git/notifyCommit?url=<URL of the Git repository>[&branches=branch1[,branch2]*][&sha1=<commit ID>]
乾杯、