【问题标题】:gocd - making custom command script available to agentgocd - 使代理可以使用自定义命令脚本
【发布时间】:2017-08-31 21:43:59
【问题描述】:

我正在尝试添加一个自定义命令,该命令又调用一个 python 脚本,如https://support.thoughtworks.com/hc/en-us/articles/213253646-Go-s-custom-command 中的示例,

<exec command="myecho.sh">
</exec>

就我而言,

<exec command="/usr/bin/python cd_dashboard.py">
  <arg>-v</arg>
</exec>

但是当我执行管道时它失败并出现以下错误,

[go] 任务:“/usr/bin/python cd_dashboard.py”-vtook:0.2s 尝试执行“/usr/bin/python cd_dashboard.py -v”时发生错误。 请确保 [/usr/bin/python cd_dashboard.py] 可以在此代理上执行。

所以问题是,python 脚本应该驻留在哪里以便代理可以访问?应该在代理的 PATH 中。

这是正确的理解吗?

【问题讨论】:

    标签: go-cd


    【解决方案1】:

    命令应该是/usr/bin/python,请将cd_dashboard.py移到args。现在,GoCD 试图运行可执行文件/usr/bin/python cd_dashboard.py,这当然不存在。你应该有这样的东西:

    <exec command="/usr/bin/python">
      <arg>-v</arg>
      <arg>cd_dashboard.py</arg>
    </exec>
    

    【讨论】:

    • 谢谢。cd_dashboard.py 应该驻留在哪里。它是否可以驻留在 custom_command 默认存储库中并且仍然可供代理访问,或者需要在代理上明确提供?
    • 是的,它可以是默认存储库的一部分,在这种情况下,GoCD 将自动克隆/下载它到每个代理上,该作业将在其中执行。
    • 太棒了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    相关资源
    最近更新 更多