詹金斯奴役工作区

时间:2015-05-13 19:05:59

标签: jenkins workspace master-slave multi-configuration

我有一个Jenkins多配置项目,我想在两个不同的VM上建立两个从站(Slave-1和Slave-2)。我对Jenkins如何尝试为每个奴隶创建不同的工作空间有疑问。我想在每个VM上使用相同的工作空间路径。

我从Perforce获取我的项目文件,并希望将它们放在两个VM的目录c:\ workspace中。但是,当我运行构建时,我查看具有Slave-1的VM并将项目文件存储在:

c:\ workspace \ label \ Slave-1

在另一台虚拟机上,项目文件位于:

c:\ workspace \ label \ Slave-2

c:\ workspace下的文件夹'label'是我为配置矩阵输入的从属名称。

如何覆盖Jenkins以将我的项目文件放在每个VM上的c:\ workspace下(不带\ label \ Slave_name文件夹)?我理解Jenkins这样做是为了避免混淆,但我的工作区是完全不同的VM,它们不会以任何方式相互交互。我必须使用c:\​​ workspace目录才能正确构建。

2 个答案:

答案 0 :(得分:1)

你可以用额外的参数启动Jenkins:

-Dhudson.model.Slave.workspaceRoot=c:\workspace

从这里采取: https://issues.jenkins-ci.org/browse/JENKINS-12667

答案 1 :(得分:0)

条款:

UnifiedDir:您要使用的目标目录在两个VM上都相同 工作区:Jenkins创建的目录,每个VM都是唯一的

要绕过工作区隔离和唯一命名,构建脚本应将整个工作区(或您需要的工作区)复制到目标统一目录中。然后在你的" Workspace \ Build SCript"中进行第二次调用。应该调用" UnifiedDir \ Build Script"

现在,构建节点之间有一个统一的工作区。只需确保在复制WORKSPACE内容之前核对此UnifiedDir的内容。