我有一个Jenkins多配置项目,我想在位于两个不同VM上的两个slave (Slave-1和Slave-2)上构建,我有一个问题Jenkins尝试为每个slave创建不同的工作区。我想在每个虚拟机上使用相同的工作区路径。
我从Perforce获取项目文件,并希望将它们放在两个虚拟机上的c:\workspace目录中。但是,当我运行构建时,我查看具有Slave-1的虚拟机,它将项目文件存储在以下目录下:
c:\workspace\label\Slave-1
在另一台虚拟机上,项目文件位于:
c:\workspace\label\Slave-2
c:\workspace下的文件夹'label‘是我为配置矩阵输入的从属名称。
如何重写Jenkins以将我的项目文件放在每个VM上的c:\workspace下(没有\label\Slave_name文件夹)?我理解Jenkins这样做是为了避免混淆,但我的工作区位于完全不同的VM上,它们之间不会以任何方式进行交互。我必须使用c:\workspace目录才能正确构建。
发布于 2015-05-14 03:21:45
您可以使用额外的参数启动Jenkins:
-Dhudson.model.Slave.workspaceRoot=c:\workspace
发布于 2015-05-14 07:28:38
条款:
UnifiedDir:您要使用的目标目录在两个虚拟机工作区上是相同的: Jenkins创建的每个虚拟机唯一的目录
为了避免工作区隔离和唯一命名,您的构建脚本应该将整个工作区(或其中需要的内容)复制到目标统一目录中。然后,在"Workspace\Build SCript“中的第二个调用应该调用"UnifiedDir\Build Script”
现在,您在构建节点之间有了一个统一的工作区。只需确保在复制工作区内容之前清除了此UnifiedDir的内容。
https://stackoverflow.com/questions/30223282
复制相似问题