我想使用Jenkins SCP插件将目录中的特定文件仅复制到远程服务器。
我有文件夹结构/X/Y/...在Y下,我只需要b c d e f中的文件a b c。这可能......?
当然,要复制所有文件,只需要X / Y / **即可。但是有选择地复制呢。 我正在读某个地方,这是插件中的一种错误。
我有一个字符串参数,$ FILES = x,y,z在" BUILD WITH PARAMETERS"
中突出显示SCP配置:
来源:some / path / $ FILES(相对于$ WORKSPACE) 目的地:/ var / lib / some / path
答案 0 :(得分:0)
您应该可以说X/Y/a; X/Y/b; X/Y/c
还要记住,这些文件必须在工作${WORKSPACE}
或者,您可以在中间执行另一个构建步骤,仅将您想要的文件复制到暂存文件夹,然后将暂存文件夹提供给SCP插件
在OP澄清后进行编辑:
您的$FILES
变量包含x,y,z
当您将此作为 Source 提供给SCP插件时,它变为:
some/path/x,y,z
或者如果我们每行打破这一项:
some/path/x
y
z
第一项有效,接下来的两项不是完整路径,因此找不到。
修复它的几种方法(选择一个):
FILES
字符串参数下,列出完整路径,例如:some/path/x, some/path/y, some/path/z
$FILES
专业人士:快速稳定 缺点:长路径看起来很丑陋。
FILES
字符串参数下,列出全局通配符路径(可在任何目录下找到文件),例如:**/x, **/y, **/z
$FILES
专业人士:快速查找 比长路径更快
如果文件x
,y
和z
在您的整个工作区中都是唯一的,那么缺点: 才有效。如果有$WORKSPACE/x
和$WORKSPACE/some/path/x
,则最终会覆盖另一个。
MYFILES
变量并注入它。mypath=some/path/
echo MYFILES=${mypath}${files//,/,$mypath} > myfiles.props
myfiles.props
。 $MYFILES
(请注意,您正在阅读已修改和注入的变量,而非原始$FILES
)专业人士:在用户界面看起来很好,适当且可进一步定制 缺点:维护配置的更多构建步骤。
<强> P.S。强>
在所有这些情况下,多选 Extended Choice Parameter 可能看起来比字符串参数更好。