14

gem を必要とする Rails アプリがあります。私はプライベート リポジトリの bitbucket でこの gem をホストしています。

Gemfile で、次のように gem を追加しました。

gem "my-gem", :git => "git@bitbucket.org:my-username/my-gem.git", :branch => 'master'

Railsアプリをherokuにデプロイしたい

git push heroku master

今、私は常に次のエラーが発生します

Fetching git@bitbucket.org:my-username/my-git-repo.git
Host key verification failed.
fatal: The remote end hung up unexpectedly

リポジトリがプライベートに設定されているため、エラーを理解しています。しかし、どうすればこの問題を解決できますか?

私はすでにこの質問を読みました: Deploying to Heroku using git on bitbucketですが、実際には答えがわかりません:)。

4

4 に答える 4

9

Bitbucket では、github と同様に、リポジトリ URL で HTTP 基本認証を使用できます。gem の URL を として指定しますhttps://username:password@bitbucket.org/username/gemrepo.git

それ自体バージョン管理されているGemfileにユーザー名とパスワードを含めることを意味しますが、それは良い習慣ではありませんが、Herokuが推奨していることなので...

于 2013-08-08T15:16:43.447 に答える
8

これを実現する適切な方法はbundle config を使用することです。これにより、構成がホーム ディレクトリに保存される.bundle/configため、リポジトリの外にとどまります。

bundle config bitbucket.org user:pwd

そして、Herokuでは、特別な方法で簡単な構成を設定する必要があります。

heroku config:set BUNDLE_BITBUCKET__ORG=user:pwd

Gemfile では、資格情報なしで URL を使用するだけです。

gem 'gemname', git: "https://bitbucket.org/User/gemname.git"

于 2016-11-26T01:09:36.257 に答える
2

次のような新しいユーザーの代わりに ENV 変数を使用することをお勧めします。

https://#{ENV['BITBUCKET_USER']}:#{ENV['BITBUCKET_PWD']}....

次に、次を使用して設定します。

heroku config:add BITBUCKET_X=value

開発環境では、dotenv gem を使用して資格情報を定義できます。

参照:プライベート github リポジトリからプルする gem を指定するにはどうすればよいですか?

于 2015-04-22T12:31:24.790 に答える