0

我正在开发一个在 Heroku 上运行的部署应用程序,它允许我将分支从克隆的 git 存储库推送到其他机器进行部署。

当我尝试从 github 克隆存储库时(从 ruby​​ 应用程序,如果重要的话),我收到以下错误:

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

我尝试使用 ssh-agent 打开一个 bash shell,但没有任何效果。这是我尝试添加 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

有什么我缺少的方法吗?

4

1 回答 1

0

我稍微改变了我的方法。

事实证明,使用 SSH 令人沮丧,所以我只是切换到通过 https 签出,凭据可以放入实际的 repo 名称中,并且这些凭据可以作为环境变量包含在 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
于 2013-07-04T19:42:43.020 回答