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:pw@github.com/me/my_gem.git
error: The requested URL returned error: 401 while accessing https://user:pw@github.com/me/my_gem.git/info/refs
Git error: command `git clone 'https://user:pw@github.com/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://0123456789abcdef0123456789abcdef01234567@github.com/me/my_gem.git
Password:
Heroku стойло и подскажите пароль:.
на моей локальной машине так:
git clone https://user:pw@github.com/me/my_gem.git
и
git clone https://0123456789abcdef0123456789abcdef01234567@github.com/me/my_gem.git
работает perfekt!
Local:
# git --version
git version 1.7.9.5
здесь:
# heroku run git --version
git version 1.7.0
2 ответов
Heroku запускает более старую версию Git, которая, к сожалению, не полностью поддерживает часть auth URL-адресов.
Вы можете обойти это путем добавления манекен пароль поставляется GitHub. Поэтому вместо использования:
https://#{github_oauth_token}@github.com/me/my_gem.git
использование:
https://#{github_oauth_token}:x-oauth-basic@github.com/me/my_gem.git
Git Heroku (версия 1.7) не поддерживает использование электронной почты в качестве имени пользователя для репозиториев Github.
вы должны использовать свое имя пользователя Github.
кроме того, git Heroku не поддерживает использование токена oauth.
надеюсь, Heroku скоро обновит свой git, чтобы они могли продолжать делать мою жизнь проще : -)