1

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

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

但是,每个项目似乎仍然想要创建存储库的克隆。有任何想法吗?

4

1 回答 1

0

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

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

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

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

于 2013-06-28T18:12:22.010 回答