2017-07-24 40 views
1

感谢您关注我的问题。Jenkins Jobs目录 - 占用大量空间

我看到我的一些詹金斯工作在服务器中占据了很多空间。如果我检查/user/.jenkins/jobs/job-name/builds目录,我有很多历史版本。我真的需要保留它们吗?

+0

只有你可以知道答案,我有一些工作保持很少的历史,对于一个重要的项目,你可能需要能够重现然后构建,所以我标记在git上,创建BOM等。在你需要它保持什么。 – JamesD

回答

1

您可能不需要所有这些,取决于您的需求以及如何处理它,但是如果您转到作业的配置,则可以看到删除旧构建并保留一定限制的选项。例如,这里设置为在500次构建之后放弃旧构建。你可以做几天或建立计数。在你看来,我会调整你的构建通常需要多少空间,而你的服务器有多少空间。

enter image description here

如果是刚刚扔出去数字(因为不知道你有多大版本是也不是你服务器的大小)。我会说,如果你在空间上有限,那么可能是最后5次构建或者1周构建。如果你每天频繁地构建或者如果你每天做一些构建,我会使用构建的数量,也许时间是好的。

这里的詹金斯很好的帮助以供参考:

这个决定的时候,如果有的话,建立记录本项目应 被丢弃。构建记录包括控制台输出,归档文件 以及与特定构建相关的任何其他元数据。 保持较少的构建意味着构建 记录根目录中将使用较少的磁盘空间,该配置系统在配置系统 屏幕上指定。

詹金斯提供了两个选项来确定何时建立应 丢弃:

  1. 构建年龄:丢弃建立,如果他们达到一定的年龄;例如,七天前的 。
  2. 构建计数:如果某个 构建数已经存在,则丢弃最早的构建。

这两个选项可以在 同时激活,这样可以保持建立了14天,但最多只能到了一个极限的50 构建,例如。如果超出任一限制,则任何超出该限制的构建都将被丢弃。您还可以确保 重要版本永远保存,无论此处设置如何 - 单击构建页面上的Keep this build forever按钮。这些规则也排除了最后一个稳定且最后成功构建的 。

在高级部分中,可以指定相同的选项,但专门用于构建构件的 。如果启用,则对于超出定义限制的任何构建,构建工件将被丢弃 。版本 本身仍将保留;只有相关的工件,如果有的话, 将被删除。

例如,如果一个项目建立了一些软件和 产生大量的安装程序,这是存档,您不妨总是 保持控制台日志和有关哪些源代码控制提交 建,而对于磁盘空间的原因,您可能只想保留最后三个构建的安装程序。这对 项目很有意义,您可以在其中轻松地重新创建相同的工件, 再次构建相同的源代码管理提交。

请注意,当此 配置更新时,或者一旦超过任何配置值 ,Jenkins不会立即丢弃项目;这些规则每次构建完成时都会被评估。

+0

谢谢理查德。 我知道我可以在作业配置中使用build discarding。 我的实际担忧是这个数据有多重要?在什么情况下,我可能再次需要这些数据? –

+0

这确实是个案例,取决于构建作业的作用?也许更多关于你工作的信息会有所帮助。如果它正在运行单元测试等测试,那么可能是最后5个版本或1周价值是一个好的开始。如果这是一项运行基准测试的工作,那么可能需要更长时间才能获得更多趋势数据。等等。 – richardhsu