使用 DSL 的 logrotator 的多分支管道作业配置

Multibranch Pipeline job configuration with logrotator using DSL

我正在使用 jenkins job dsl 来配置我的多分支管道作业。实际上我的所有设置都在工作,除了 logRotator。我的目标是删除旧版本并保留特定数量的版本。我可以使用

options {

    buildDiscarder(logRotator(numToKeepStr: '10'))
  }

为此目的在自由式工作中。 UI 中的多分支管道作业配置部分没有将废弃构建部分作为选项。有什么方法可以使用 logRotator 而无需将其添加到我的 jenkins 文件中。

在 Jenkins 作业 dsl 中,multibranchPipelineJob 可以选择添加以下行以丢弃旧构建。

orphanedItemStrategy {
            discardOldItems { numToKeep(10) }
        }

我在我的代码中添加了以下部分以在多分支管道作业中实现 buildDiscarder 功能。

 multibranchPipelineJob("job") {
  branchSources {
  branchSource {
    source {
      bitbucket {
        credentialsId("myid")
        repoOwner("iam")
        repository("job")                       
 traits {
          headWildcardFilter {
            includes("branchestoinclude")
            excludes("toexclude")
          }
        }
      }
    }
    strategy {
      defaultBranchPropertyStrategy {
        props {
          buildRetentionBranchProperty {
            buildDiscarder {
              logRotator {
                daysToKeepStr("-1")
                numToKeepStr("8")
                artifactDaysToKeepStr("-1")
                artifactNumToKeepStr("-1")
              }
            }
          }
        }
      }
    }
  }
}