パイプラインマルチブランチ環境を作成し始めていますが、問題が見つかりました。
ビルドスキャンを実行して、パイプラインを実行せずにJenkinsfileでブランチを検出できますか?
私のプロジェクトにはさまざまなブランチがあり、親パイプラインのマルチブランチからビルドスキャンを起動すると、Jenkinsfileを持つ各ブランチのすべての子パイプラインが実行を開始したくない。
助けてくれてありがとう!
Branch Sourcesセクションでは、Suppress自動SCMトリガーという名前のプロパティを追加できます。
これにより、JenkinsはJenkinsfile
ですべてを構築できなくなります。
また、プログラムでそれを行うことができます
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()
}