我正在玩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中需要它,但是想避免依赖。
答案 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)
他们现在有自己的capistrano食谱:https://newrelic.com/docs/ruby/recording-deployments-with-the-ruby-agent