2013-04-04 14 views
8

Nie mogę użyć domyślnego portu 22, więc mam problemy z konfiguracją gita i heroku zgodnie z samouczkiem hartl rails.push to heroku przez port 443

udało mi się wcisnąć do git przy tym następujące w pliku ~/.ssh/config:

Host github.com 
User git 
Hostname ssh.github.com 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/id_rsa 
Port 443 

Jednak podobny wpis nie zadziała Heroku:

Host heroku.com 
User git 
Hostname ssh.heroku.com 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/id_rsa 
Port 443 

wydaje się powiesić na tej linii debug:

debug1: identity file /c/Users/[my folder name]/.ssh/id_rsa type 1 

... przed niepowodzeniem z tej wiadomości:

ssh_exchange_identification: Connection closed by remote host. 

miałem nadzieje na tej odpowiedzi, Error in git push heroku master through ssh behind proxy to nie działa dla mnie też ...

Wszelkie porady będą mile widziane.

+0

BTW, właśnie zobaczyłem, gdzie próbujesz przejść przez samouczek szyn. Moja odpowiedź może być ciężka do tego celu, ale jeśli * nie możesz * trafić 22, dostać się gdzieś, lub po prostu pominąć kawałki Heroku. – BnWasteland

+0

Przeszedłem już przez tutuł, pomijając heroku, ale teraz próbuję zrobić coś w pracy i chciałbym to powiedzieć. Sądzę, że zrobię rozwój w pracy, popchnę go do github i wypchnę go do heroku z domu. Miałem tylko nadzieję, że może istnieć równie łatwe rozwiązanie, jak w przypadku tego samego problemu z github ... – grooble

Odpowiedz

11

Heroku pracuje na zapewnienie alternatywnych sposobów poruszania kodu źródłowego na platformie, spojrzeć na heroku push, na przykład: https://github.com/ddollar/heroku-push

używa https, a zatem nie jest podatny na blokowanie firewall, którego doświadczasz.

UPDATE

Heroku ma teraz beta HTTP Git wsparcie. Jeśli problem jest spowodowany brakiem dostępu do Heroku na porcie 22, to HTTP Git powinien go rozwiązać (działa na porcie 443).

Aby korzystać HTTP Git, najpierw upewnij się Toolbelt jest aktualizowana i że poświadczenia są aktualne:

$ heroku update 
$ heroku login 

(jest to ważne, ponieważ Heroku HTTP Git uwierzytelnia się w nieco inny sposób niż reszta Toolbelt)

Podczas testu wersji beta otrzymujesz HTTP, przekazując flagę --http-git do odpowiednich poleceń heroku apps:create, heroku git:clone i heroku git:remote.Aby utworzyć nową aplikację i mają być skonfigurowane z pilotem HTTP Git, uruchom to:

$ heroku apps:create --http-git 

aby zmienić istniejącą aplikację z SSH do HTTP Git, wystarczy uruchomić to polecenie z katalogu aplikacji na komputerze:

$ heroku git:remote --http-git 
Git remote heroku updated 

Zapoznaj się z Dev Center documentation for details on how set up HTTP Git for Heroku.

+0

To działa i to proste. Dzięki za link. – grooble

+0

Szkolny. Fajne rzeczy. – BnWasteland

1

Wow. Jestem pod wrażeniem, że github miał foresight, aby uruchomić ssh na 443. Jest prawdopodobne, że heroku działa tylko https, co oczywiście nie pozwoliłoby ci ustanowić połączenia ssh.

Od github działa dla Ciebie, dlaczego nie skorzystać z tego? Skorzystaj z usługi takiej jak Travisci, aby oglądać github, budować i wdrażać w heroku.

Prosty przykład stosując Travis: http://metabates.com/2012/10/23/deploying-to-heroku-from-travisci/

Powiązane problemy