我有一个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目录才能正确构建。
答案 0 :(得分:1)
你可以用额外的参数启动Jenkins:
-Dhudson.model.Slave.workspaceRoot=c:\workspace
答案 1 :(得分:0)
条款:
UnifiedDir:您要使用的目标目录在两个VM上都相同 工作区:Jenkins创建的目录,每个VM都是唯一的
要绕过工作区隔离和唯一命名,构建脚本应将整个工作区(或您需要的工作区)复制到目标统一目录中。然后在你的" Workspace \ Build SCript"中进行第二次调用。应该调用" UnifiedDir \ Build Script"
现在,构建节点之间有一个统一的工作区。只需确保在复制WORKSPACE内容之前核对此UnifiedDir的内容。