2012-12-01 77 views
2

我正在玩New Relic並希望提醒New Relic部署。我可以使用命令行上做到這一點:如何配置capfile以使用curl與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的部署後運行上面的捲曲?

我知道我可以安裝新的遺物寶石,並要求它在Capfile中,但要避免依賴。

回答

3

您可以使用「運行」命令是這樣的:

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

「運行」命令字符串是典型的紅寶石,所以你可以使用任何字符串分隔符:

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

,你可以嵌入參數和往常一樣:

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

在弗雷德裏克涌的評論良好的信息:

「運行」命令將在所有遠程主機上運行它。我會使用run_locally或甚至只是``。

如果您想知道每臺主機的部署情況,請使用「運行」每個主機將自己的信息發送到New Relic。

如果您只是想知道您的本地腳本已經運行,而您並不在意每個遠程主機都已部署,請使用「run_locally」。

+0

感謝您的信息。我將如何傳遞參數?我嘗試過「運行」curl xyz「',但無法弄清楚如何傳遞參數。 – kayaker243

+0

運行將在所有遠程主機上運行 - 我會使用run_locally或甚至只是'' –

+0

只有一個遠程主機,但這有助於瞭解。 – kayaker243