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 シェルを開こうとしましたが、効果がありませんでした。これは、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 経由でチェックアウトするように切り替えました。資格情報を実際のリポジトリ名に入れることができ、これらの資格情報を 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 に答える