2016-07-17 14 views
3

複数のSCMプラグインに追加したxリポジトリの任意のプルリクエスト/コミットに対してトリガされる必要がある標準Jenkinsジョブが1つあります。構成内にある。jenkinsジョブをビルドするためのコミット/プル要求時に複数のgithubリポジトリを追跡する

すべてのリポジトリにフックを付ける方法はありますか。そのため、プルトリクエストが作成されたリポジトリに対してプルリクエストが作成された特定のリポジトリをビルドするようにしますか?

これは、すべてのリポジトリに対して1つのジョブを持つことができる場合、1レポごとに1つのジョブを必要としないので便利です。

答えて

3

set your Jenkins url in the webhooks and services of your various GitHub reposの場合、ジェンキンスはそのWebhookによって呼び出されます。

しかし、Jenkins GitHub pluginは、 "Github project"に正しい[email protected]:Person/Project.gitレポがある場合にのみジョブをトリガーします。

一つの可能​​な回避策は、に次のようになります。

  • submodulesとして他のすべてのものを宣言しGitHubの1つの親のレポで公開。
  • 親リポジトリ内でgit submodule update --remoteをトリガーするために(他のすべてのサブモジュールをリフレッシュするために)gitlinks SHA1special entries in the index)、その親リポジトリをGitHubに戻します。
  • GitHubプラグインとそのWebフックを介してGitHub親リポジトリを監視するJenkinsジョブがあります。
  • どのサブフォルダサブモジュールが変更されたかを判断するためのビルドステップがcompares GIT_COMMIT and GIT_PREVIOUS_COMMITであり、そのサブフォルダのみでビルドを起動します。
0

Jenkins Pipelinesを使用すると可能です。

チェックアウトビルトインステップで任意の数のSCMロケーションを指定できます。この場合、Jenkinsはソースリポジトリのいずれかで変更されたときにパイプラインを再構築する必要があることを「知っている」でしょう。もちろん、Gitフックを有効にする必要があります。

関連する問題