如何删除存储库分支上的旧 Jenkins 构建

如何删除存储库分支上的旧 Jenkins 构建

我使用 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',
    ),
  ),
}

相关内容