我创建了一个jenkins文件,最重要的是,它最终将把一个.jar文件从jenkins目标目录复制粘贴到主目录。我尝试了很多选择,比如sudo cp和sudo visudo,给詹金斯特权,但都没用,而且从安全角度来看也不安全。
然后我尝试安装FileOperations插件。
stage("Copy the created .jar file to home directory for docker deployment"){
steps{
fileOperations([fileCopyOperation(
flattenFiles: false,
includes: '*.jar',
targetLocation: "home/user"
)])
}
}
输出:
18:27:37文件复制操作:
18:27:37/var/lib/jenkins/workspace/pipeline_production/my.jar
18:18:27:37 FATAL:/home/user/my.jar
我很怀念这个配置出了什么问题,没有成功。感谢您的建议。
类似的问题在这里
您可以检查并提供jar文件所在位置的完整路径,并检查它是否可用。
fileOperations([fileCopyOperation(
flattenFiles: false,
includes: '*.jar', // Give full path where .jar file exists
targetLocation: "home/user"
)])
另一种选择是只使用shell的cp
命令来复制文件:
sh "cp -f <Source path> <Destination>"
sh "cp -f *.jar home/user/"
您也可以通过更改目录来执行命令:
steps{
dir("<Path of your jar file>"){
fileOperations([fileCopyOperation(
flattenFiles: false,
includes: '*.jar',
targetLocation: "home/user"
)])
OR
sh "cp -f *.jar home/user/"
}
}