【问题标题】:Execute Shell for Salt in Jenkins with inconsistent results在 Jenkins 中为 Salt 执行 Shell,结果不一致
【发布时间】:2016-12-01 21:18:59
【问题描述】:

我正在尝试从 Jenkins 执行 shell 命令来进行 Salt 调用。我可以让命令在没有参数的情况下工作。

#!/bin/sh
sudo salt '*' test.ping

但是当我使用参数执行时,我得到一个错误:

[TestUpgrade] $ /bin/sh /tmp/hudson6841559319172934172.sh 错误:未收到退货 没有仆从匹配目标。没有发送命令,也没有分配 jid。 构建步骤“执行 shell”将构建标记为失败

命令如下所示:

#!/bin/sh
sudo salt $Minion_Group test.ping

我正在尝试插入 '*' 作为字符串参数。 当我回显命令时,一切看起来都很好。

有什么想法吗?

【问题讨论】:

  • 我建议你改用 SaltAPI。 Jenkins有对应的插件

标签: shell jenkins salt-stack


【解决方案1】:

我预计这是一个报价问题。

Salt 不会将星号解释为通配符,而是尝试查找'*' minion id。并且您不能删除单引号,因为它会在运行 salt 命令之前导致通配符扩展。

尝试将$Minion_Group 设置为* 并暂时禁用全局扩展:

#!/bin/sh
set -f
sudo salt ${Minion_Group} test.ping
set +f

【讨论】:

    猜你喜欢
    • 2017-02-06
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多