指向同一个Mercurial仓库的Jenkins项目不共享源代码



我使用Jenkins作为我们的构建服务器。我有多个项目使用相同的Mercurial (Hg)存储库,并且希望避免每个项目克隆它自己的本地repo来构建(因为repo相当大)。这应该可以通过Jenkins和Mercurial插件实现。

在我的Mercurial插件配置中,我已经检查了"使用存储库缓存"one_answers"使用存储库共享"。在每个项目中,都列出了相同的存储库位置(通过IP地址指定的网络位置)。

然而,每个项目似乎仍然想要创建一个存储库的克隆。什么好主意吗?

在我们的设置中(使用Jenkins 1.506),我在高级项目选项下为每个构建定义了一个自定义工作区,通常在[project]repo,然后从那里构建到build文件夹。

如果你为每个Jenkins项目定义自定义工作区,使用相同的源代码指向相同的共享自定义工作区,它将重用已经存在的内容。

我还没有对此进行测试,但是我认为在这种设置下,防止在同一工作目录中发生并发构建是很重要的。坏事随之而来。

作为一个后续问题:您不希望每个构建都有自己的源代码的理由是什么?

最新更新