【问题标题】:How do I configure a capfile to use curl to communicate to New Relic?如何配置 capfile 以使用 curl 与 New Relic 通信?
【发布时间】:2012-12-01 18:12:49
【问题描述】:

我在玩 New Relic,想提醒 New Relic 进行部署。我可以在命令行上使用:

curl -H "x-api-key:MY_API_KEY" -d "deployment[application_id]=MY_APP_ID "https://api.newrelic.com/deployments.xml

我应该在 capfile 中添加什么,以便 capistrano 在部署时运行上面的 curl?

我知道我可以安装新的 relic gem 并在 Capfile 中要求它,但想避免依赖。

【问题讨论】:

    标签: ruby curl capistrano newrelic


    【解决方案1】:

    您可以像这样使用“运行”命令:

    task :foo, :hosts => "my.example.com" do
      run "curl <your info here>"
    end
    

    “运行”命令字符串是典型的 Ruby,因此您可以使用任何字符串分隔符:

    run %{curl -H "x-api-key:MY_API_KEY" -d ... }
    

    你可以像往常一样嵌入参数:

    key = "xyz"
    run %{curl -H "x-api-key:#{key}" -d ... }
    

    来自 Frederick Chung 的 cmets 中的好信息:

    “运行”命令将在所有远程主机上运行它。我会使用 run_locally 甚至只是 `.

    如果您想知道每个主机都部署了,请使用“运行”;每个主机都会将自己的信息发送到 New Relic。

    如果您只想知道您的本地脚本已运行,而不关心每个远程主机已部署,请使用“run_locally”。

    【讨论】:

    • 感谢您的信息。我将如何传递参数?之前试过run "curl xyz",但是不知道怎么传参数。
    • Run 将在所有远程主机上运行它——我会使用 run_locally 甚至只是 ``
    • 只有一个远程主机,但知道这一点很有帮助。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 2013-03-07
      • 2013-07-03
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多