在 Jenkins 中对 Salt 执行 Shell 结果不一致
Execute Shell for Salt in Jenkins with inconsistent results
我正在尝试从 Jenkins 执行 shell 命令来执行 Salt 调用。我能够让命令在没有参数的情况下工作。
#!/bin/sh
sudo salt '*' test.ping
但是当我使用参数执行时出现错误:
[测试升级] $ /bin/sh /tmp/hudson6841559319172934172.sh
错误:未收到 return
没有仆从符合目标。没有发送命令,也没有分配 jid。
构建步骤 'Execute shell' 将构建标记为失败
命令如下所示:
#!/bin/sh
sudo salt $Minion_Group test.ping
我正在尝试插入“*”作为字符串参数。
当我回显命令时,一切看起来都很好。
有什么想法吗?
我想这是一个报价问题。
Salt 不会将星号解释为通配符,相反,它会尝试查找 '*'
minion id。并且您不能删除单引号,因为它会导致在 salt
命令为 运行 之前扩展通配符。
尝试将 $Minion_Group
设置为 *
并暂时禁用 glob 扩展:
#!/bin/sh
set -f
sudo salt ${Minion_Group} test.ping
set +f
我正在尝试从 Jenkins 执行 shell 命令来执行 Salt 调用。我能够让命令在没有参数的情况下工作。
#!/bin/sh
sudo salt '*' test.ping
但是当我使用参数执行时出现错误:
[测试升级] $ /bin/sh /tmp/hudson6841559319172934172.sh 错误:未收到 return 没有仆从符合目标。没有发送命令,也没有分配 jid。 构建步骤 'Execute shell' 将构建标记为失败
命令如下所示:
#!/bin/sh
sudo salt $Minion_Group test.ping
我正在尝试插入“*”作为字符串参数。 当我回显命令时,一切看起来都很好。
有什么想法吗?
我想这是一个报价问题。
Salt 不会将星号解释为通配符,相反,它会尝试查找 '*'
minion id。并且您不能删除单引号,因为它会导致在 salt
命令为 运行 之前扩展通配符。
尝试将 $Minion_Group
设置为 *
并暂时禁用 glob 扩展:
#!/bin/sh
set -f
sudo salt ${Minion_Group} test.ping
set +f