【问题标题】:Specific cleanup interval for artifacts in TeamCityTeamCity 中工件的特定清理间隔
【发布时间】:2015-06-12 04:51:14
【问题描述】:

我在 TeamCity 中确实有一个项目,该项目具有主发布分支的构建配置。每次发布我们产品的新版本时,都会对其进行编译。

为了能够查明引入的错误,我确实需要较长的保留时间来保存此构建配置中的一些 工件。由于其他一些工件相当大(完整的 cd 安装包),我的服务器的硬盘驱动器在简单地增加此配置的清理间隔时会变得非常满。

是否可以以某种方式配置两个不同的清理间隔?我希望为真正重要的工件留出较长的保留时间,同时尽早扔掉大件。

我目前使用的是 TeamCity 9.0.3

例如,假设我的项目有两个工件:

smallupdatepack.zip   (32 mb)
reallybigupdatecd.iso (700 mb)

我想以保留 .iso 的方式配置 TeamCity,例如最后 10 个构建,但 .zip 保留用于最后 150 个构建。

我不想要的是一种解决方案,其中所有 .zip 文件都被永久保留,而只有 .iso 文件被间隔删除,这对我来说似乎是通过使用构建配置的设置的工件模式可能实现的一个人。

【问题讨论】:

  • 我相信,如果您固定构建,即使按照您的正常设置,它也永远不会被清理。这是从我的记忆深处挖掘出来的,所以请不要相信我的话!

标签: teamcity


【解决方案1】:

您可以在Build History Clean-up page 中为项目/目标指定自定义清理规则。

在您的情况下,您可以对所有构建进行积极的清理,对主构建的项目/目标进行宽松的清理

我已经通过下面的图片上传了一个例子,如果它有帮助

如果您编辑任何设置,您可以为人工制品设置单独的时间段。您可以为每个目标设置人工制品清理。但是,对于同一个目标,您不能为多个工件设置不同的清理规则。

【讨论】:

  • 这只会让我走到一半,因为我现在已经在这样做了。我的问题是,我无法想出一个规则,允许在某些工件上保留不同的保留时间。在这方面,它似乎总是全有或全无(要么保留工件,要么将其删除)。我错过了什么还是没有其他方法?最终一些粗略的解决方法?
  • @PeterHommel 您可能需要更具体地说明您需要如何定义一些工件。 工件模式 设置是否不能为您提供您想要的需要吗?
  • @CoderDennis 你看过我修改后的问题吗?
【解决方案2】:

@Biswajit_86 的答案看起来是唯一可用于设置特殊清理规则的东西。我看了看,似乎配置特定的设置应该覆盖项目设置并给你你需要的东西,但也许它不是那样工作的。试试看它是否有效。如果没有,请向 JetBrains 提交错误/建议。

我唯一能想到的另一件事是创建一个单独的构建配置,该配置仅发布您希望保留的时间超过默认规则的工件。给它一个快照依赖于创建文件的配置,并选中该框以在同一构建代理上运行。这样它就不需要重建它们,只需发布​​已经创建的内容。设置一个构建触发器,以便这个新配置在另一个完成时运行。然后将此配置的清理规则设置为更长的保留设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-14
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    相关资源
    最近更新 更多