Конфигурация задания Multibranch Pipeline с логротатором с использованием DSL

Я использую jenkins job dsl для настройки моих многоотраслевых конвейерных заданий. На самом деле все мои настройки работают, кроме logRotator. Моя цель - удалить старые сборки и сохранить определенное количество сборок. я могу использовать

options {

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

в фристайле для этой цели. Раздел настройки задания многоотраслевого конвейера не имеет параметра Discardold build в пользовательском интерфейсе. Есть ли способ использовать logRotator, не добавляя его в свой файл jenkins.




Ответы (2)


Я добавил в свой код следующий раздел, чтобы реализовать функциональность 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")
              }
            }
          }
        }
      }
    }
  }
}
person SANITH    schedule 22.07.2019
comment
strategy, похоже, недоступен - возможно, в более новых версиях! Я получаю ошибку при использовании этого - person xbmono; 08.03.2021

В Jenkins job dsl у multibranchPipelineJob есть возможность добавить следующие строки для отбрасывания старых сборок.

orphanedItemStrategy {
            discardOldItems { numToKeep(10) }
        }
person eeedev    schedule 19.07.2019
comment
У меня есть этот раздел в моем коде. Но orphanedItemStrategy не даст функции Discarder сборки. - person SANITH; 22.07.2019