So verknüpfen Sie einen Ordner mit einer vorhandenen Heroku-App


815

Ich habe eine vorhandene Rails-App auf GitHub und auf Heroku bereitgestellt. Ich versuche, eine neue Entwicklungsmaschine einzurichten, und habe das Projekt aus meinem GitHub-Repository geklont. Ich bin jedoch verwirrt, wie ich diesen Ordner mit Heroku verknüpfen soll. Ursprünglich habe ich den heroku createBefehl verwendet, aber diesmal möchte ich das natürlich nicht, da dadurch eine weitere Heroku-Instanz erstellt wird.

Antworten:


1243

Heroku verknüpft Ihre Projekte basierend auf der herokuGit-Fernbedienung (und einigen anderen Optionen, siehe das Update unten). Verwenden Sie den folgenden Befehl, um Ihre Heroku-Fernbedienung als Fernbedienung in Ihr aktuelles Repository aufzunehmen:

git remote add heroku git@heroku.com:project.git

Wo projectist der Name Ihres Heroku-Projekts (derselbe wie die project.heroku.comSubdomain)? Sobald Sie dies getan haben, können Sie die heroku xxxxBefehle verwenden (vorausgesetzt, Sie haben den Heroku Toolbelt installiert) und wie gewohnt über Heroku pushen git push heroku master. Wenn Sie das Befehlszeilentool verwenden, können Sie als Verknüpfung Folgendes eingeben:

heroku git:remote -a project

Wo ist wieder projectder Name Ihres Heroku-Projekts (danke, Colonel Panic ). Sie können die Git-Fernbedienung beliebig benennen, indem Sie sie übergeben -r remote_name.

[Aktualisieren]

Wie von Ben in den Kommentaren erwähnt, muss die Fernbedienung nicht benannt werden, herokudamit die gem-Befehle funktionieren. Ich habe die Quelle überprüft und es sieht so aus:

  1. Wenn Sie über die --appOption (z. B. heroku info --app myapp) einen App-Namen angeben , wird diese App verwendet.
  2. Wenn Sie über die Option (z. B. ) einen Git- Remote- Namen angeben , wird die dieser Git-Remote zugeordnete App verwendet.--remoteheroku info --remote production
  3. Wenn Sie keine Option angeben und diese heroku.remotein Ihrer Git-Konfigurationsdatei festgelegt haben, wird die mit dieser Fernbedienung verknüpfte App verwendet (z. B. um die Standardfernbedienung git config heroku.remote productionin Ihrem Repository auf "Produktion" zu setzen , und Heroku wird ausgeführt git config heroku.remote, um den Wert zu lesen dieser Einstellung)
  4. Wenn Sie keine Option angeben, findet der Edelstein keine Konfiguration in Ihrer .git/configDatei, und der Edelstein findet nur eine Fernbedienung in Ihren Git-Fernbedienungen, deren URL "heroku.com" enthält. Diese Fernbedienung wird verwendet.
  5. Wenn nichts davon funktioniert, wird ein Fehler ausgegeben, der Sie auffordert, --appan Ihren Befehl weiterzuleiten .

Der Link zu "der Quelle" oben funktioniert nicht. Vielleicht versuchen Sie diese Seite: devcenter.heroku.com/articles/using-the-cli - obwohl ich denke, dass das Dokument dort nicht genug ist.
Purplejacket

1
Wenn Sie versuchen, die heroku git:remoteMethode zu verwenden, überprüfen Sie, ob Sie das Heroku-Toolbelt-Cli verwenden und ob noch kein Heroku-Edelstein auf Ihrem System installiert ist (anscheinend hat es bei mir mit den alten Edelsteinen nicht funktioniert).
Pierre-Adrien Buisson

3
Außerdem können Sie für mehrere Heroku-Zweige $ git config heroku.remote <appname>die Standard-App festlegen, sodass Sie Terminalbefehle für diese App verwenden können.
Sheharyar

1
Wenn Sie http verwenden, heroku loginhat die Fernbedienung die Formhttps://git.heroku.com/project-name.git
max pleaner

1
Hinweis: Heroku beschreibt es jetzt in der Projektübersicht: Navigieren Sie zu dashboard.heroku.com , klicken Sie auf Ihre App, wechseln Sie zur Registerkarte "Bereitstellen" und wählen Sie die Bereitstellungsmethode "Heroku git" (standardmäßig ausgewählt). Anschließend erhalten Sie Anweisungen zum Verbinden eines vorhandenen Ordners / Git mit Heroku.
praktisch

230

Die Heroku-CLI bietet hierfür eine einfache Verknüpfung. Für eine App namens 'fallender Wind-1624':

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

Siehe https://devcenter.heroku.com/articles/git#creating-a-heroku-remote


1
! Resource not found
Grün

1
Sie können die Fernbedienung benennen, indem Sie-r other_remote_name
MasterScrat

2
Dies ist immer noch der richtige Weg, auch wenn Sie Ihre Heroku-App direkt mit GitHub verbunden haben. Beachten Sie, dass Ihre "Ursprungs" -Fernbedienung nicht überschrieben wird. Stattdessen wird eine "Heroku" -Fernbedienung erstellt.
Seth

144

Vergessen Sie nicht, wenn Sie sich auch auf einer Maschine befinden, auf der Sie Heroku noch nicht eingerichtet haben

heroku keys:add

Oder Sie können nicht zum Repo schieben oder ziehen.


3
Oh ja! Das hat mir auch geholfen. Ich hatte eine App, in der wir mit Basic angefangen haben und dann "Heroku" in "Inszenierung" und "Produktion" aufgeteilt haben. Also habe ich git remote add staging git@staging.xx:yy.gitund git remote add production git@production.xx:yy.git- aber das war nicht genug. Wenn ich es versuchte git push staging master(oder produzierte), bekam ich "Berechtigung verweigert (öffentlicher Schlüssel). Schwerwiegend: Das entfernte Ende hat unerwartet aufgelegt". Was diesen Fehler behoben hat, war, heroku keys:addwie Ghoti erwähnt.
Purplejacket

8

Zwei Dinge, die beim Einrichten eines neuen Bereitstellungssystems für die alte App zu beachten sind

1. So überprüfen Sie den Zugriff Ihrer App auf Heroku (insbesondere die App)

heroku apps

Es werden die Apps aufgelistet, auf die Sie Zugriff haben, wenn Sie sie zum ersten Mal einrichten

heroku keys:add

2. Richten Sie dann Ihre Git-Fernbedienung ein

Für die bereits erstellte Heroku-App können Sie mit dem heroku git: remoteBefehl ganz einfach eine Fernbedienung zu Ihrem lokalen Repository hinzufügen . Sie benötigen lediglich den Namen Ihrer Heroku-App:

heroku git:remote -a appName

Sie können Ihre Fernbedienungen auch mit dem Befehl git remote rename umbenennen:

git remote rename heroku heroku-dev(you desired app name)

Anschließend können Sie mit dem Befehl git remote bestätigen, dass für Ihre App eine Fernbedienung festgelegt wurde

 git remote -v

4

Benutze Herokus Gabel

  1. Verwenden Sie den neuen Befehl "Heroku Fork"! Es wird die gesamte Umgebung kopiert und Sie müssen das Github-Repo danach aktualisieren!

    heroku fork -a sourceapp targetapp
    
  2. Klonen Sie es lokal

    git clone git@heroku.com:youamazingapp.git
    
  3. Machen Sie ein neues Repo auf Github und fügen Sie es hinzu

    git remote add origin https://github.com/yourname/your_repo.git
    
  4. Github aufschieben

    git push origin master
    



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.