2017-09-20 23 views
2

今、すべてのマルチブランチパイプラインジョブを手動で設定し、「マルチブランチパイプライントリガをスキャン」を3分に設定します。jenkinsfileで「マルチブランチパイプライントリガをスキャン」を設定するにはどうすればよいですか?

これを私のjenkinsfileに挿入するにはどうすればよいですか?私はこれの例を見つけることができません。 Scan Multibranch Pipeline Triggersは "triggers {}"ブロックで使用できますか?

答えて

2

マルチブランチ設定ページの設定では、マルチブランチスキャンジョブ自体が設定され、マルチブランチ "フォルダ"内に作成される個々のジョブは設定されません。

「マルチブランチパイプライントリガをスキャンする」の下にある「定期的に実行されなければ定期的に」と表示されるオプションは、マルチブランチジョブが新しい​​ブランチをスキャンするときのトリガーにすぎません。既存のブランチに変更が見つかった場合、またはブランチ仕様に一致するJenkinsfileで新しいブランチが検出された場合は、新しいビルドがトリガーされますが、これはジョブがトリガされる方法ではありません。

実際には、SCM構成にプロパティを追加して「自動SCMトリガを無効にする」ことによって、変更が検出されたときに自動ビルドを無効にすることができます。次に、マルチブランチスキャントリガーが表示されますが、変更が見つかった場合でもジョブ自体は構築されません。

ジョブをトリガーするには、できればウェブフックを使用するのが理想的です。 gitプラグイン(githubプラグインではない)を使用してgitフックを使用する場合、PollSCMトリガーを有効にする必要があります(まれにポーリングするように設定することも、まったく設定しないこともできます)。

通常のトリガーオプションを使用する場合は、2.22からcronまたはpollSCMのいずれかのトリガーを設定できます。

次に、マルチブランチジョブにスキャンを実行するタイミングを通知するようにWebフックを設定できると思います。私はそれを試していない。私はちょうど1時間ごとにスキャンするように指示するか、あるいは「定期的に実行しなければ定期的に」を使用して1日に2回スキャンします。

マルチブランチジョブで設定したビルドディスカードやその他の事項にも同じことが適用されます。 Web UIでは、マルチブランチジョブ自体を構成することはできますが、マルチブランチジョブ自体からは作成した個々のジョブを構成することはできません。ジョブを構成するには、Pipelineを使用する必要があります。

関連する問題