我从Jenkins管道开始,我想从任何Jenkins目录外复制一些视频文件到我的作业工作区目录。我正在使用File Operations Plugin为我的其他作业执行一些文件操作。有了这个插件,我可以将文件从工作区内部复制到外部:
fileOperations([fileCopyOperation(excludes: '', flattenFiles: false, includes: "videos\\*.MTS", targetLocation: "H:\\home\\Videos")])
例如,通过此步骤,我可以将位于工作区中的4个视频文件复制到位于另一个磁盘中的上述目录中。
但我想反其道而行之。我想将视频文件从另一个磁盘的源目录复制到工作区。我尝试了几种方法,但似乎'includes'字段不接受绝对路径。例如:
fileOperations([fileCopyOperation(excludes: '', flattenFiles: false, includes: "H:\\home\\Videos\\videos\\*.MTS", targetLocation: ".")])
这在控制台输出中返回以下错误:
文件复制操作:致命:预期为Ant GLOB模式,但看到'H:\home\Videos\videos*. MTS'。语法请参见http://ant.apache.org/manual/Types/fileset.html
因此,我一直试图将一些文件转移到工作区目录,以便在那里进行处理。
注意:我在工作中使用声明式管道。
3条答案
按热度按时间yduiuuwa1#
事实上,问题似乎不是从工作区之外复制文件,而是从当前工作目录之外复制文件。我还是不知道该怎么做。
但是,您可以将当前的工作目录更改为包含要复制的文件的目录,因此:
此代码允许您复制放置在工作区目录中提到的目录中的mts文件。您可以在此处查看 dir 步骤的其他帮助
hrirmatl2#
当我尝试接受答案时,我停止了错误,但文件没有复制到我的工作区,因为没有错误,我没有得到任何信息,为什么。
无论如何,对我来说,运行一个'powershell'步骤并使用命令'copy',因为我在Windows上工作,如果你在Linux中,你可以使用步骤'sh'代替。
例如
z18hc3ub3#
您可以手动复制所有数据,您可以在Jenkins工作区中找到数据。Jenkins文件夹,然后您可以从那里复制数据
然后你可以复制数据抛出脚本,你可以添加power shall插件,并在Jenkins job select power shall选项中添加构建步骤
Copy-Item -Path“(source patch)*”-Destination“(destination path)”-Recurse -Force