jenkins - 如何将文件从工作区外的目录复制到 Jenkins 管道中的工作区

标签 jenkins jenkins-plugins

我从 Jenkins 管道开始,我想将一些视频文件从任何 jenkins 目录外部复制到我的工作工作区目录。我正在使用 File Operations Plugin为我拥有的其他工作执行一些文件操作。使用该插件,我可以将文件从我的工作区内部复制到外部:

fileOperations([fileCopyOperation(excludes: '', flattenFiles: false, includes: "videos\\*.MTS", targetLocation: "H:\\home\\Videos")])

例如,通过此步骤,我可以将工作区中的 4 个视频文件复制到位于另一个磁盘中的上述目录中。

但我想做相反的事情。我想将视频文件从另一个磁盘中的源目录复制到工作区。我以多种方式尝试过,但似乎“包含”字段不接受绝对路径。例如:
fileOperations([fileCopyOperation(excludes: '', flattenFiles: false, includes: "H:\\home\\Videos\\videos\\*.MTS", targetLocation: ".")])

这在控制台输出中返回以下错误:

File Copy Operation: FATAL: Expecting Ant GLOB pattern, but saw 'H:\home\Videos\videos\*.MTS'. See http://ant.apache.org/manual/Types/fileset.html for syntax



因此,我一直在尝试将一些文件传送到工作区目录以便在那里进行处理。

注意:我正在为我的工作使用声明性管道。

最佳答案

事实上,问题似乎不是从工作区外部复制文件,而是从当前工作目录外部复制文件。我仍然不知道如何做到这一点。

但是,您可以将当前工作目录更改为包含要复制的文件的目录,因此:

dir("H:\\home\\Videos\\videos") {
    fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: '*.MTS', targetLocation: "${WORKSPACE}")])
}

此代码允许您复制放置在工作区目录中提到的目录中的 mts 文件。您可以查看有关 dir 步骤的其他帮助 here

关于jenkins - 如何将文件从工作区外的目录复制到 Jenkins 管道中的工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47961806/

相关文章:

performance - 与 googletest 和 Jenkins 比较/趋势测试数据

jenkins - Slack Jenkins插件不起作用

python - 如何告诉 Jenkins 使用特定的 virtualenv python

docker - 如何在本地机器上查找docker镜像

grails - grails jasper插件和jquery插件与 Assets 管道冲突

build - 如何修改 Jenkins 用于控制从站的负载平衡行为?

java - eclipse egit 工作目录 vs jenkins 和 git 方式

jenkins - JenkinsFile groovy 中的闭包 - 回调或委托(delegate)

python - 如何将Python变量传递给管道中的下游作业

python - Jenkins Git 插件 : git describe cannot describe anything