jenkins - 即使我将 Max # of builds 设置为保持数字,Jenkins 中的存档目录是否已保存?

标签 jenkins build directory archive

我正在尝试了解存档目录的用途。 据我所见,存档是按构建的。这意味着如果我将“要保留的构建的最大数量”设置为 3,例如,存档也将被删除。

对吗?

如果是这样,我如何告诉 Jenkins 只保存我创建的工件(zip 文件)并删除构建目录?

所有构建是否有一个存档目录?

最佳答案

默认情况下,Jenkins 作业有两个目录(可以只有一个,builds,在 Workflow 作业的情况下,或更多,例如,一个额外的promotions 目录):

  • JENKINS_HOME/jobs/${JOB_NAME}/builds/ 包含根据 $BUILD_ID
  • 的子目录
  • JENKINS_HOME/jobs/${JOB_NAME}/workspace/

因此,每个作业有一个工作区每个构建有一个构建目录


不要让页面 Administering Jenkinsthis changeJENKINS-8446 驱动把你弄糊涂了。工作区默认值,如内联帮助(在撰写本文时的当前 v1.635)中也提到的那样,仍然是:

管理 Jenkins → 配置系统 → 高级... → 工作区根目录:${ITEM_ROOTDIR}/workspace

这不是${JENKINS_HOME}/workspace/${JOB_NAME}


如果丢弃旧构建,则工作区不会被丢弃,但是,由于它存在于每个作业中,因此它会被每个新构建覆盖。因此,如果您想保留旧工件,您可以:

  • 创建一个使用 Copy Artifact Plugin 的“存档”作业并将其作为下游连接到您的构建作业。
  • 使用构建后操作Groovy Postbuild 或 → 执行一组脚本

还有 Discard Old Build plugin它通过构建后操作增强了 Jenkins 的内置丢弃功能。

关于jenkins - 即使我将 Max # of builds 设置为保持数字,Jenkins 中的存档目录是否已保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33391830/

相关文章:

curl - Jenkins Pipeline - 使用 sh 和curl 获取 java.io.NotSerializedException

go - 如何编译由多个文件组成的 Go 程序?

php - 在 php 中使用 opendir() 按字母顺序排序和显示目录列表

Delphi:如何避免文档文件夹设置中的重复(OneDrive)?

maven-2 - 安装构建工件而不再次运行构建

git - 如何查看 Jenkins 轮询了 Git 存储库

c++ - 为多个项目和配置有效地使用 Visual Studio 项目属性

gradle - 具有非标准文件夹层次结构的多个项目Gradle构建

Python/Spyder : General Working Directory

java - Sonar Cobertura 插件找不到 coverage.xml 文件