我使用 Blue Ocean 插件创建了一个 Jenkins 作业,该作业自动使用 Jenkinsfile(声明性管道)来构建并将状态报告回 GitHub。一切正常。
我遇到的问题是无法删除旧版本。该作业显示为存储库,我已将其配置为最多保留 5 个版本。但我注意到索引的分支(包括主分支)也有自己的配置。我尝试设置旧版本的删除,但没有保存按钮!我认为这是因为配置从存储库传播到分支,但它没有效果。我该如何让它工作?
答案1
某些作业属性是使用 Jenkinsfile 中的指令而不是 Web UI 中的配置进行调整的。在您的 Jenkinsfile 中:
properties([
// only keep 25 builds to prevent disk usage from growing out of control
buildDiscarder(
logRotator(
artifactDaysToKeepStr: '',
artifactNumToKeepStr: '',
daysToKeepStr: '',
numToKeepStr: '25',
),
),
])
当然,您可以调整各种参数以满足您的需要。
答案2
不确定哪个 Jenkins 版本带来了更新,但语法已经改变。修改 jayhendren 的示例:
options {
// only keep 25 builds to prevent disk usage from growing out of control
buildDiscarder(
logRotator(
artifactDaysToKeepStr: '',
artifactNumToKeepStr: '',
daysToKeepStr: '',
numToKeepStr: '25',
),
),
}