2010-10-19 59 views

回答

2

您通常使用的方式是add domains in Heroku正在使用Heroku API通過Heroku gem。 有一個叫做命令heroku domains:add可以調用

$ heroku domains:add example.com 

正如我前面所說的,客戶端調用的Heroku API。您可以從庫中提取Heroku Domain API信息,並創建一個調用Heroku API的自定義腳本,以便從您的應用程序添加和刪除域。

這是client source code

注意。因爲你是「逆向工程」,而且API似乎沒有記錄,所以你應該問Heroku有權這樣做,只是爲了確保你沒有針對他們的TOS創建一些東西。

+0

謝謝西蒙娜。那麼沒有文件記錄的方法可以合法地做到這一點? – 2010-10-19 08:08:54

+0

老實說,我不認爲這種方式是「非法」的,因爲你沒有反編譯任何東西。順便說一句,你應該聯繫Heroku,確保它可以完成。 – 2010-10-19 09:17:29

+0

無需擔心,Heroku支持使用API​​,例如,他們提到使用它來[在文檔中更改您的dynos數量](http://docs.heroku.com/faq-product-features#how-does -dyno放大器工人縮放工作)。但是,API未來可能會發生變化。 – wuputah 2010-10-20 19:47:37

0

寶石來自heroku並且是推薦的方法。我剛剛與Heroku聯繫了相同的問題,並且在那裏回覆:

您需要告訴Heroku有關域以及路由的位置。 CNAME告訴DNS如何將請求發送到Heroku。現在您必須告訴Heroku將其發送給哪個應用程序。您可以通過將域添加到您的應用程序來完成此操作在你的情況下,你需要運行「heroku域名:添加my.domain.com」到你的應用程序。您也可以通過我們的API從應用程序內部以編程方式執行此操作。有關如何連接和使用API​​的示例,請參閱Heroku gem(http://github.com/heroku/heroku)。

16

我已經聯繫Heroku同樣的事情,他們只是指着我their api,並表示可以這樣使用它。

恐怕沒有。 Our API僅由客戶代碼「記錄」。

您可以找到如何讓來自社區成員的意見以及我們的谷歌集團有幫助的:http://groups.google.com/group/heroku/

奧倫

下面是簡單的操作方法:

require 'heroku' 

heroku = Heroku::Client.new('heroku_username', 'heroku_password') 
heroku.add_domain('heroku_app_name', 'example.com') 
heroku.remove_domain('heroku_app_name','example.com') 

更多見the api

當然,我建議不要將明文密碼放入代碼中。你可以做的一件好事是使用heroku環境變量來讓你的密碼離開代碼。

heroku = Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD']) 

,然後你可以用

$> heroku config:add HEROKU_USER='heroku_username' 
$> heroku config:add HEROKU_PASSWORD='heroku_password' 

在命令行設置你的應用程序的環境變量。

7

heroku寶石現在已被棄用。您應該使用heroku.rb寶石。命令稍微改變了一點,但實質上是一樣的。

require 'heroku-api' 

heroku = Heroku::API.new(:api_key => API_KEY)       # use API Key 
heroku = Heroku::API.new(:username => USERNAME, :password => PASSWORD) # use username and password 
heroku = Heroku::API.new(:headers => {'User-Agent' => 'custom'})  # use custom header 


heroku.delete_domain('app', 'example.com') # remove the 'example.com' domain from the 'app' app 
heroku.get_domains('app')     # list configured domains for the 'app' app 
heroku.post_domain('app', 'example.com') # add 'example.com' domain to the 'app' app 
相關問題