【问题标题】:SCP Jenkins Plugin does not copy selectivelySCP Jenkins 插件不会选择性地复制
【发布时间】:2014-05-05 11:41:33
【问题描述】:

我只想使用 Jenkins SCP 插件将目录中的特定文件复制到远程服务器。

我有文件夹结构 /X/Y/...在 Y 下,我只需要 a 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

【问题讨论】:

    标签: jenkins jenkins-plugins scp


    【解决方案1】:

    你应该可以说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
    • SCP来源下,仅使用$FILES

    优点: 快速且稳定。
    缺点: 路径长时看起来很丑。

    参数变量中的通配符路径。

    • FILES 字符串参数下,列出全局通配符路径(文件可以在任何目录下找到),例如:
      **/x, **/y, **/z
    • SCP来源下,仅使用$FILES

    优点: 比长路径更快且看起来更好
    缺点: 适用于文件xyz 在您的整个工作区中都是独一无二的。如果存在$WORKSPACE/x$WORKSPACE/some/path/x,则其中一个最终会覆盖另一个。

    准备MYFILES变量并注入它。

    • 您需要添加一个 Execute Shell 构建步骤。在那里写下以下内容:
      mypath=some/path/ echo MYFILES=${mypath}${files//,/,$mypath} > myfiles.props
    • 然后添加Inject environment variables构建步骤(获取链接中的插件)。在属性文件路径下,指定myfiles.props
    • SCP Source下,仅使用$MYFILES(注意您阅读的是修改和注入的变量,而不是原始的$FILES

    优点: 在 UI 中看起来不错,适当且可进一步自定义。
    缺点: 更多构建步骤需要在配置中维护。

    附言
    在所有这些情况下,多选 Extended Choice Parameter 可能看起来比字符串参数更好。

    【讨论】:

    • 在 jenkins 中,我定义了一个参数 $FILES ,其中包含要复制的文件的值(30 个文件中的 15 个文件)。我一直在尝试在 SCP Plugin Ant 任务中使用这个参数 $FILES。没有办法通过它。使用参数应该是一种方便的方式,因为今天我只想复制 15 个,明天可能是 16 个。所以我只需将附加的文件名添加到 $FILES
    • $FILES 您的参数是在此构建已参数化下的作业配置中定义的吗?或者这是脚本中其他地方定义的环境变量?如果第一个是真的,你应该可以在你的 SCP 插件中使用$FILES。发布您的 SCP 插件的配置(编辑原始问题,不要在此处的 cmets 中发布),并将您的控制台日志发布在失败的地方
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    相关资源
    最近更新 更多