Подтвердить что ты не робот

Heroku вытаскивает частный репозиторий github

Я попытался использовать разные подходы к использованию ссылки на личный репозиторий Github в приложении Rails Gemfile.

1) Gemfile:
gem 'my_gem', :git => "https://#{github_user}:#{github_pw}@github.com/me/my_gem.git"

Результат из git push heroku ':

Fetching https://user:[email protected]/me/my_gem.git
error: The requested URL returned error: 401 while accessing https://user:[email protected]/me/my_gem.git/info/refs
Git error: command `git clone 'https://user:[email protected]/me/my_gem.git' "/tmp/build_2wxmqutch8gy7/vendor/bundle/jruby/1.9/cache/bundler/git/my_gem-929bddeee3dd4a564c2689e189190073df01431e" --bare --no-hardlinks` in directory /tmp/build_2wxmqutch8gy7 has failed.
Dependencies installed

Затем я нашел эту статью https://help.github.com/articles/creating-an-oauth-token-for-command-line-use и создал токен OAuth.

2) Gemfile:
gem 'my_gem', :git => "https://#{github_oauth_token}@github.com/me/my_gem.git"

Результат из git push heroku ':

Fetching https://[email protected]/me/my_gem.git
Password:

Хероку и запрос пароля.

На моей локальной машине:

git clone https://user:[email protected]/me/my_gem.git

и

git clone https://[email protected]hub.com/me/my_gem.git

работает perfekt!

Local:

# git --version
git version 1.7.9.5

Heroku:

# heroku run git --version
git version 1.7.0
4b9b3361

Ответ 1

Heroku git (версия 1.7) не поддерживает использование электронной почты как имя пользователя для репозиториев Github.

Вы должны использовать свое имя пользователя Github.

Кроме того, Heroku git не поддерживает использование маркера oauth.

Надеюсь, что Heroku скоро обновит их git, чтобы они могли продолжать облегчать мою жизнь: -)

Ответ 2

Heroku запускает более старую версию Git, которая, к сожалению, не полностью поддерживает часть авторизации URL-адресов.

Вы можете обойти это, добавив фиктивный пароль, предоставленный GitHub. Поэтому вместо использования:

https://#{github_oauth_token}@github.com/me/my_gem.git

Использование:

https://#{github_oauth_token}:[email protected]/me/my_gem.git