web-dev-qa-db-ja.com

Jenkinsマルチブランチパイプラインスキャン実行なし

パイプラインマルチブランチ環境を作成し始めていますが、問題が見つかりました。

ビルドスキャンを実行して、パイプラインを実行せずにJenkinsfileでブランチを検出できますか?

私のプロジェクトにはさまざまなブランチがあり、親パイプラインのマルチブランチからビルドスキャンを起動すると、Jenkinsfileを持つ各ブランチのすべての子パイプラインが実行を開始したくない。

助けてくれてありがとう!

22
Daniel Majano

Branch Sourcesセクションでは、Suppress自動SCMトリガーという名前のプロパティを追加できます。

これにより、JenkinsはJenkinsfileですべてを構築できなくなります。

24
42tg

また、プログラムでそれを行うことができます

import jenkins.branch.*
import jenkins.model.Jenkins


for (f in Jenkins.instance.getAllItems(jenkins.branch.MultiBranchProject.class)) {
  if (f.parent instanceof jenkins.branch.OrganizationFolder) {
    continue;
  }
  for (s in f.sources) {
    def prop = new jenkins.branch.NoTriggerBranchProperty();
    def propList = [prop] as jenkins.branch.BranchProperty[];
    def strategy = new jenkins.branch.DefaultBranchPropertyStrategy(propList);
    s.setStrategy(strategy);
  }

  f.computation.run()
}
2
Stqs