在尝试复制文件时,我遇到了Groovy \ Jenkins的问题
我使用的代码如下:
public void copy(String sources, String destination) {
Path source = Paths.get( join(this.script.WORKSPACE, sources) );
Path target = Paths.get( join(this.script.WORKSPACE, destination) );
Files.copy(source, target)
}
this.script.WORKSPACE
是Jenkins工作区,如果此工作区是C:\Jenkins\Workspace\MyBranch
,源是binaries\mybinary.dll
,则join函数将返回:
C:\Jenkins\Workspace\MyBranch\mybinary.dll
在执行时,我收到以下错误:
java.nio.file.NoSuchFileException: Y:\Jenkins\workspace\MyBranch\mybinary.dll
但是文件在代理上。
问题是我使用xcopy的原因是我只需要在Windows目标上进行复制(并且工作正常,没有任何问题,我隔离了对复制功能的更改,现在Windows复制出现了问题)。
但是现在我还必须复制redhat平台。
所以我正在寻找一种跨平台的解决方案
谢谢!
答案 0 :(得分:0)
所以我发现这是与詹金斯有关的问题。实际上,管道是在主服务器上执行的,而不是在代理程序上执行的,因此在不存在该文件的主服务器上查找文件。
我将不得不使用sh脚本或jenkins stash函数,但看来我不能在这里使用跨平台代码。