我的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?
答案 0 :(得分:1)
据我所知,在您的Windows节点上执行了copyFrom
,因此无法访问源路径。
我认为您要查看stash
/ unstash
步骤(Jenkins Pipeline: Basic Steps),这些步骤适用于不同的节点。此example也许有用。
答案 1 :(得分:0)
管道DSL上下文在master
节点上运行,即使您在管道中写入node('someAgentName')
。
archive()
和sh("wget $url")
会有所帮助。