我从Jenkins管道开始,我想将一些视频文件从任何jenkins目录外部复制到我的作业工作区目录。我正在使用File Operations Plugin为我的其他工作执行一些文件操作。使用该插件,我可以将文件从工作区内复制到外部:
fileOperations([fileCopyOperation(excludes: '', flattenFiles: false, includes: "H:\\home\\Videos\\videos\\*.MTS", targetLocation: ".")])
通过此步骤,我可以将位于我工作区中的4个视频文件复制到位于另一个磁盘中的上述目录。
但我想做相反的事情。我想将视频文件从另一个磁盘中的源目录复制到工作区。我尝试过几种方式,但似乎'包含'字段不接受绝对路径。例如:
$(document).on("change", "input[type='radio']", function(){
$("input[type='radio']").each(function(){
$("#book").attr("disabled", false);
if($(this).is(":checked") === false){
$("#book").attr("disabled", true);
}
});
});
这在控制台输出中返回以下错误:
文件复制操作: 致命:期待Ant GLOB模式,但看到'H:\ home \ Videos \ videos \ * .MTS'。有关语法
,请参阅http://ant.apache.org/manual/Types/fileset.html
所以,我一直试图将一些文件带到工作区目录中,以便在那里进行处理。
注意:我正在为我的工作使用声明性管道。
答案 0 :(得分:6)
事实上,似乎问题不是从工作区外部复制文件,而是从当前工作目录外部复制文件。我还是不知道该怎么做。
但是,您可以将当前工作目录更改为包含要复制的文件的目录,因此:
dir("H:\\home\\Videos\\videos") {
fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: '*.MTS', targetLocation: "${WORKSPACE}")])
}
此代码允许您复制工作空间目录中提到的目录中的mts文件。您可以看到 dir 步骤here
的其他帮助答案 1 :(得分:0)
当我尝试接受的答案时,我停止获取错误,但是该文件未复制到我的工作空间,并且由于没有错误,所以我没有关于原因的信息。
无论如何,对我有用的是,因为我在Windows上工作,所以只运行“ powershell”步骤并使用命令“ copy”,如果您使用的是Linux,则可以改用“ sh”步骤。
例如
powershell 'copy "${source}" ${filename}'