常规语法生成器不适用于示例步骤properties: Set Job Properties
。我已经选择Discard old builds
,然后10
在Max # of builds to keep
字段中输入,然后Generate Groovy
什么都没有显示。
詹金斯版本:2.7
Answers:
至于声明性语法,可以使用以下代码options
块:
pipeline {
options {
buildDiscarder(logRotator(numToKeepStr: '30', artifactNumToKeepStr: '30'))
}
...
}
的参数logRotator
(来自源代码):
daysToKeepStr
:历史只保留到这一天。numToKeepStr
:仅保留此数量的构建日志。artifactDaysToKeepStr
:工件仅保留到这一天。artifactNumToKeepStr
:仅保留此数量的构件。可以在Cloudbees知识库和block文档中options
找到更多信息。
numToKeepStr
,幸运的是,我在这里找到您的答复以找到其他参数。他们如何记录事物有点混乱。谢谢,尽管您是救生员。
您可以使用properties
嵌套在BuildDiscarderProperty
最终具有您要设置的密钥的方法。我仍然没有可靠的方法来查找每个键的正确语法。经过大量的猜测和检查:
properties([[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '10']]]);
请注意,此代码段适用于脚本语法。
*Str
字段的含义strategy
。教男人钓鱼……等等
对于脚本化管道,请使用:
properties([
buildDiscarder(logRotator(daysToKeepStr: '3', numToKeepStr: '3')),
])
要在特定天数后放弃构建:
options {
buildDiscarder(logRotator(daysToKeepStr: '7'))
}
要在特定数量的构建后放弃构建:
options {
buildDiscarder(logRotator(numToKeepStr: '7'))
}
对于声明性管道,可以添加以下内容:
options {
buildDiscarder(
logRotator(
// number of build logs to keep
numToKeepStr:'5',
// history to keep in days
daysToKeepStr: '15',
// artifacts are kept for days
artifactDaysToKeepStr: '15',
// number of builds have their artifacts kept
artifactNumToKeepStr: '5'
)
)
}
jenkins-base-url:port if any/pipeline-syntax/
。这也是另一个javadoc.jenkins.io/hudson/tasks/LogRotator.html。我有时还会查看插件的github源代码,以详细了解。@silencej
如果您想在多分支流水线作业级别(相对于所有单个对象Jenkinsfile
)中配置构建保留,则也可以:https :
//issues.jenkins-ci.org/browse/JENKINS-30519?focusedCommentId=325601&page =com .atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-325601
除了之外,BuildRetentionBranchProperty
您还可以*BranchProperty
在此处配置其他任何s:https :
//github.com/jenkinsci/branch-api-plugin/tree/master/src/main/java/jenkins/branch
但是,至少对于我而言,Jenkins 2.73.2可能不会在GUI中显示它们。但是您仍然可以使用JobDSL或config.xml
直接修改JobDSL (我不是说;-))