如何配置capfile以使用curl与New Relic进行通信?

时间:2012-12-01 18:12:49

标签: ruby curl capistrano newrelic

我正在玩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中需要它,但是想避免依赖。

2 个答案:

答案 0 :(得分:3)

您可以使用“run”命令,如下所示:

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

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

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

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

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

Frederick Chung的评论中的好消息:

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

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

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

答案 1 :(得分:1)