【发布时间】:2010-08-26 06:24:00
【问题描述】:
是否可以为 Hudson 中的每个构建维护多个工作区?假设如果我想保留最后 5 个构建,是否也可以拥有五个相应的工作区文件夹?目前,每当安排新的构建时,它都会覆盖工作区。
【问题讨论】:
标签: hudson
是否可以为 Hudson 中的每个构建维护多个工作区?假设如果我想保留最后 5 个构建,是否也可以拥有五个相应的工作区文件夹?目前,每当安排新的构建时,它都会覆盖工作区。
【问题讨论】:
标签: hudson
现在的想法是重用工作空间。
它基于使用的 SCM(SVN 工作区或 Git 工作区或 ClearCase 快照或动态视图或...),并且在这些 SCM 插件中,我没有看到构建新工作区或保存的选项(复制)每次运行 Job 时都有一个旧的。
一个(不好的)解决方案是:
【讨论】:
据我所知,没有内置的方法可以做到这一点。
您确实有几个选择:
【讨论】:
虽然不理想,但您可以使用Backup Plugin。
备份插件允许您备份工作区。因此,您可以在每次构建后运行该插件,它将归档工作空间。
同样,不理想,但如果这是必须具备的要求,并且如果它适用于您使用 Hudson 的方式,那么它可以工作。
【讨论】:
根据您想做什么,您有几个选择。
如果你需要最后五个工作区来做另一个工作,你可以使用克隆工作区 SCMlink text 插件。由于我从未使用过,不知道以后是否可以手动(通过 UI)访问存档的工作区。
另一个值得尝试的选项是使用存档选项并存档整个工作区(我认为存档选项的过滤器设置为 **/*)。然后,您可以从每个作业运行中下载压缩版本的工作区。这个解决方案的美妙之处在于,当您删除特定的作业运行(手动或通过作业设置删除旧版本)时,工件将被清理。
当然,您也可以手动完成并运行副本作为构建的最后一步。您将需要五个目录(您可以将它们命名为 1 到 5)。首先删除最旧的并重命名其他的(4->5、3->4、..)。最后一步是将工作区复制到保存最新副本的目录(在我们的示例 1 中)。这将要求您维护自己的存档作业。因此,我更喜欢上述选项之一。
【讨论】: