将文件从Jenkins master复制到Pipeline中的slave

时间:2018-03-12 13:54:50

标签: jenkins groovy jenkins-pipeline

我的Jenkins有一些Windows奴隶,所以我需要将文件复制到管道中。我听说过Copy To Slave和Copy Artifact插件,但他们没有管道语法手册。所以我不知道如何在管道中使用它们。

直接复制不起作用。

def inputFile = input message: 'Upload file', parameters: [file(name: 'parameters.xml')]
new hudson.FilePath(new File("${ENV:WORKSPACE}\\parameters.xml")).copyFrom(inputFile)

此代码返回错误:

Caused: java.io.IOException: Failed to copy /var/lib/jenkins/jobs/_dev/jobs/(TEST)job/builds/107/parameters.xml to d:\Jenkins\workspace\_dev\(TEST)job\parameters.xml

有没有办法在Jenkins Pipeline中将文件从master复制到slave?

2 个答案:

答案 0 :(得分:1)

据我所知,在您的Windows节点上执行了copyFrom,因此无法访问源路径。

我认为您要查看stash / unstash步骤(Jenkins Pipeline: Basic Steps),这些步骤适用于不同的节点。此example也许有用。

答案 1 :(得分:0)

管道DSL上下文在master节点上运行,即使您在管道中写入node('someAgentName')