Mam problem podczas pracy z wieloma kontami Heroku na moim komputerze.
Chodzi o to, że wcześniej działało świetnie, zmieniając konta za pomocą klejnotu Heroku. Ale teraz (mimo że wygenerowałem nowe klucze SSH) to nie zadziała.
Kiedy robię git push heroku master
, po prostu mówi:
[email protected] nie ma uprawnień dostępu do my_app_name
Czy ktoś ma jakieś rady jak mógłbym to rozwiązać?
Odpowiedzi:
Musisz się upewnić, że używasz prawidłowego klucza ssh.
Sposobem na zrobienie tego (i sposobem, w jaki wtyczka kont heroku wyświetla monit) jest dodanie sekcji do pliku konfiguracyjnego ssh w ~ / .ssh / config. Na przykład dla mojego konta służbowego heroku mam to w mojej konfiguracji ssh:
Teraz, i to jest kluczowe, musisz upewnić się, że twój pilot git jest skonfigurowany do używania tego samego nazwanego hosta . W tym przypadku jest to heroku.work . Zwykle byłoby to heroku.com, gdybyś używał heroku tylko z jednym kontem.
Musisz więc edytować pilota git (możesz to zrobić w
.git/config
pliku repozytorium na swoim komputerze). Zmień plik, aby wyglądał następująco:Zwróć uwagę na heroku. praca , nie heroku. pl i zastąp <appname> nazwą swojej aplikacji (inaczej nazwą repozytorium) na heroku.
źródło
.ssh/config
mają to doprowadzićheroku.work
doheroku.com
Rozwiązałem to za pomocą wtyczki heroku-accounts
zobacz tutaj, aby uzyskać instrukcje
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
źródło
Musisz zostać zaakceptowany jako współpracownik w projekcie, którego nie jesteś właścicielem.
Działa to tak (używając git):
I to powinno być dla wszystkich ludzi; podczas wdrażania w innej aplikacji wystarczy nacisnąć drugi pilot.
źródło
Dodałbym kilka rzeczy do wtyczki heroku-accounts ... w tym przykładzie założono, że Twoje istniejące konto heroku będzie heroku.work i dodajesz nowe konto heroku.personal.
Opisuje również, jak przenieść aplikację z jednej do drugiej, na przykład, jeśli osiągnąłeś maksimum 25 aplikacji i tworzysz nowe konto i chcesz przenieść niektóre projekty poboczne i aplikacje eksperymentalne z konta głównego.
heroku accounts:set personal
), aż po przesyłanie aplikacji za pomocą Herokusharing
commmand jak opisano https://devcenter.heroku.com/articles/transferring-appsOto kroki, których prawdopodobnie potrzebujesz:
heroku accounts:add work --auto
aby utworzyć nowe konto heroku.work, aby zastąpić stare konto domyślne (więc użyj tych samych poświadczeń, których używałeś przez cały czas). Musisz RÓWNIEŻ przesłać swój nowy klucz do heroku:heroku keys:add ~/.ssh/identity.heroku.work.pub
heroku accounts:add personal --auto
aby utworzyć nowe konto heroku.personal (np. użyj nowych danych logowania do nowego konta heroku). Musisz RÓWNIEŻ przesłać swój nowy klucz do heroku:heroku keys:add ~/.ssh/identity.heroku.personal.pub
heroku accounts:set work
(wszystko po to ustawia git do korzystania z heroku.work, które jest (poza tym przykładem) tym samym kontem heroku, którego używasz przez cały czas, tylko że teraz nazywa się heroku. praca.heroku sharing:add <new owner email>
(b) w katalogu lokalnym, przełącz aplikację na heroku.personal za pomocąheroku accounts:set personal
(c) transfer ** aplikację ze starego konta na nowe za pomocą,heroku sharing:transfer <new owner email>
a następnie (d) usuń współpracownika ze starego adresu e-mail (jeśli chcesz) za pomocąheroku sharing:remove <old owner email>
** Zauważ, że link do heroku, który podałem, mówi, że istnieją specjalne wymagania, aby przenieść aplikację z płatnymi zasobami. Ogólnie rzecz biorąc, usuń opłacone zasoby, a następnie dodaj je później lub poproś o to pomoc techniczną.
źródło
Wtyczka Heroku https://github.com/ddollar/heroku-accounts została wycofana. Heroku utrzymuje teraz swoją własną pod adresem https://github.com/heroku/heroku-accounts . Niestety wydaje się, że nie przechowuje projektu po projekcie, którego konta powinien używać, więc musisz uruchomić
za każdym razem, gdy chcesz użyć narzędzia wiersza poleceń Heroku.
Szybkie rozwiązanie dla osób z dostępem do powłoki bash: utwórz lokalny katalog bin (jest już tam w aplikacjach Railsowych) i utwórz tam bin / heroku. Zawartość:
(odpowiednio zastąp „nazwa_projektu”) Następnie uruchom
$ chmod + x bin / heroku
Możesz wtedy biec
$ bin / heroku uruchom konsolę
i automatycznie użyje dla Ciebie odpowiedniego konta Heroku. Jeszcze lepiej jest dodać ./bin do swojej ścieżki, aby wrócić do zwykłego biegania:
$ heroku uruchom konsolę
źródło
Zacząłem używać wtyczki heroku-accounts, ale zdałem sobie sprawę, że mój kumpel może po prostu uczynić mnie współpracownikiem na swoim koncie heroku i to było wszystko, czego potrzebowałem.
źródło
Zainstaluj wtyczkę Heroku-accounts i skonfiguruj ją !!
Instalacja
Stosowanie
Aby dodać konta:
Aby wyświetlić listę kont:
Aby przełączyć się na inne konto:
Aby znaleźć rachunek bieżący:
Aby usunąć konto:
ustaw swoje działające konto heroku i wprowadź zmiany.
źródło
Aby to zadziałało zarówno z Git, jak i konsolą Heroku, musiałem dodać tworzenie konfiguracji ssh zgodnie z instrukcją bantic, ale musiałem również utworzyć dwa piloty do mojej konfiguracji .git:
źródło
Dręczyło mnie to od jakiegoś czasu i nigdy nie znalazłem rozwiązania, które by mi się podobało. Wreszcie znalazłem jeden.
(Odpowiedź specyficzna dla OS X).
Możesz po prostu utworzyć nowych użytkowników. Idź do Preferencje systemowe -> Użytkownicy i grupy -> przycisk Dodaj użytkownika lub grupę. Możesz utworzyć kilku użytkowników dla różnych kont Heroku, właśnie nazwałem mój user1, user2 itd.
Następnie przejdź do Preferencje systemowe -> Udostępnianie -> Logowanie zdalne -> Zezwól na dostęp dla: Wszystkich użytkowników
W tym momencie możesz przejść do terminala i wykonać następujące czynności:
Następnie możesz zrobić takie rzeczy:
źródło
Użyłem nano .git / config, a następnie zastąpiłem wartość adresu URL zdalnego „heroku” na heroku.com> apps> settings> Reveal config vars> Heroku Git URL
źródło
Mam dokładnie ten sam problem.
To nie jest odpowiedź, ale tymczasowym rozwiązaniem jest dodanie „standardowego” adresu e-mail Heroku jako współpracownika do aplikacji, do której nie masz dostępu.
źródło
używam win7
1) utwórz nowe konto użytkownika w win7 i zaloguj się do niego
2) otwórz git bash i zaloguj się na swoje nowe konto heroku
3) utwórz i prześlij nowy klucz RSA (instrukcja tutaj: https://devcenter.heroku.com/articles/keys )
4) następnie rób, co chcesz (utwórz nową aplikację, prześlij do niej plik .....)
5) za każdym razem, gdy musisz pracować na swoim oryginalnym koncie heroku, po prostu zaloguj się na swoje oryginalne konto wygrywającego użytkownika i pracuj z heroku
źródło
utwórz nowy klucz publiczny / prywatny dla nowej wiadomości e-mail w następujący sposób
1) ssh-keygen -t rsa -C "[email protected]"
2) podaj nową nazwę pliku, w którym ma zostać zapisany klucz (/home/.ssh/seckey)
3) Następnie dodaj nowy klucz do ssh-agent: - ssh-add ~ / .ssh / seckey
4) Następnie dodaj nowy klucz do heroku: - klucze heroku: dodaj ~ / .ssh / seckey
5) Dodaj plik konfiguracyjny SSH jako ~ / .ssh / config i zawartość w następujący sposób
Host heroku.com Nazwa hosta heroku.com Port 22 IdentitiesOnly tak IdentityFile ~ / .ssh / seckey Użytkownik [email protected]
Host heroku.com Nazwa hosta heroku.com Port 22 IdentitiesOnly tak IdentityFile ~ / .ssh / id_rsa Użytkownik [email protected]
6) sklonuj kod za pomocą jednego z nich
a) git clone [email protected]: twoja-aplikacja.git b) heroku git: clone -a twoja-aplikacja
źródło
Edytuj konfigurację dla tego projektu, ustawiając poprawny adres e-mail. Z katalogu głównego tego repozytorium
git config user.email <heroku email>
źródło