2013-07-04 130 views
0

我正在開發一款在Heroku上運行的部署應用程序,該應用程序允許我將分支機構從克隆的git存儲庫推送到其他計算機進行部署。從github克隆到heroku應用程序

當我嘗試克隆從GitHub存儲庫(從紅寶石的應用程序,如果它很重要),我收到以下錯誤:

Host key verification failed

fatal: The remote end hung up unexpectedly.

爲了解決這個問題,我在我已經添加到我的github帳戶的一個RSA密鑰中檢查到heroku應用程序,但問題仍然存在。

我試圖打電話ssh-add從我的應用程序,但出現以下錯誤:

Could not open a connection to your authentication agent

我試圖打開一個bash shell中使用ssh代理,沒有效果。以下是我嘗試添加ssh密鑰的代碼塊。

ruby def self.add_ssh_key(path='~/.ssh') activate_ssh_agent = %x{exec ssh-agent bash} command = %x{ssh-add #{path}} if $?.exitstatus != 0 msg = "Error: unable to add ssh-key" end end

有沒有一些方法,我失蹤?

回答

0

我改變了我的方法。

使用SSH已被證明是令人沮喪的,因此我只是通過https轉而檢出,憑證可以放入實際的回購名稱中,這些憑證可作爲環境變量包含在heroku應用程序中。

相關代碼:

def self.clone_repo(repository_address) 
    username = ENV["GITHUB_USER_NAME"] 
    password = ENV["GITHUB_PASSWORD"] 
    repo = "https://#{username}:#{password}@github.com/#{repository_address}" 
    command = %x{git clone #{repo}} 

    if $?.exitstatus != 0 
    msg = "Git error: unable to clone repository #{repository_address}" 
    end 
end