Saturday, October 1, 2016

Heroku Push Binäre Optionen

Ich habe derzeit die neueste Version von meinem Code auf einem anderen Computer, den ich aus (Home Computer und Laptop für, wenn Im aus und über) Ich habe Heroku für meine App auf meinem Laptop zu entwickeln. Jetzt muss ich meinen Code auf meinem Desktop zuordnen, so dass ich von dort aus auch nach Heroku schieben kann. Dies ist, was ich von meinem Desktop: Ich kann nicht heroku erstellen, weil das eine separate App erstellen wird. Wie kann ich den bestehenden Code mit verknüpfen (oder ziehen Sie eine brandneue Version aus) heroku Was ist der Befehl, dies zu tun Zunächst einmal youll wollen die Schnellstartanweisungen für Heroku folgen, die Sie direkt aus dem Pferde Mund, Hier: devcenter. heroku / articles / quickstart Sobald Sie Schritt 3 erreicht haben, kommen Sie zurück. Dann können Sie dies in der Befehlszeile eingeben: heroku git: clone - a myapp Dann, wenn Sie die Datenbank zu greifen wollen, hier sind einige Optionen. Neuere Heroku-Anweisungen für den Import / Export: devcenter. heroku / articles / heroku-postgres-import-export Wenn Sie mongo verwenden, ist dies ein nützliches Tool, um Ihre Mongo-Datenbank zu synchronisieren: github / pedro / heroku-mongo-syncreadme Wenn Sie zuerst Müssen Sie die App von Heroku, klonen Sie Ihre App. Um dies zu tun, schreiben Sie in Ihrem Terminal: Wenn Sie bereits die App und die Fernbedienung auf Heroku folgen Sie den nächsten Schritten. Wenn nicht, können Sie die Anweisungen hier überprüfen devcenter. heroku / articles / git Finden Sie den Namen Ihrer Datenbank Schreiben Sie in Ihr Terminal: es sieht so aus: Suchen Sie den Namen Ihrer lokalen Datenbank In Ihrer Rails App gehen Sie zu config / database. Yml wird es so aussehen: Klonen Sie Ihre Produktionsdatenbank (PostgreSQL) Schreiben Sie in Ihrem Terminal mit Ihren eigenen Datenbanknamen: HEROKUPOSTGRESQLMAROONURL ist ein Beispiel dafür, wie der Name Ihrer Produktionsdatenbank (in Heroku) sein könnte: myappnamedevelopment ist der Name Ihres Entwicklungsdatenbank (lokal) thenameofmyapp ist der Name Ihrer App in Heroku Dont vergessen, dies mit Bündel installieren beenden. Assummen Sie mit git, um Ihr Projekt zu verwalten, wenden Sie Änderungen an Heroku durch Drücken sie. Dies könnte etwa so aussehen: Dies schiebt den Master-Zweig Ihres git-Projekts nach Heroku. Um Ihre App auf Heroku auszuschalten, können Sie zwei Dinge tun: Dies schaltet die Anwendung komplett aus. Sie können es auch in den Wartungsmodus, die einfach verhindert, dass Zugriffe auf sie: Das heißt, Sie müssen nicht deaktivieren Sie Ihre Anwendung auf Heroku während der Entwicklung vor Ort. Die beiden Umgebungen sind völlig unabhängig voneinander. Wenn Sie eine Änderung vornehmen, drücken Sie einfach das git-Repository auf heroku wieder mit git push heroku master. Der Server wird automatisch mit dem geänderten System neu gestartet. Sie scheinen ein Missverständnis zu haben. Sie können Ihren lokalen Entwicklungsserver immer laufen lassen, unabhängig davon, was Heroku tut (es sei denn, ein anderer Dienst, den Ihre App verbindet, würde verwechselt werden, natürlich, aber wenn das passiert, gibt es wahrscheinlich etwas falsch mit Ihrem Design). Dennoch, wenn Sie die Anwendung auf Heroku stoppen möchten, skalieren Sie es einfach auf null web dynos: heroku ps: scale web0. Antwort # 1 am: Mai 23, 2010, 09:10:19 pm »Ihre Antwort 2016 Stack Exchange, IncVagrant Push Heroku Strategie Heroku ist ein öffentlicher PAAS-Anbieter, der es einfach macht, eine Anwendung zu implementieren. Die Vagrant Push Heroku Strategie drückt Ihren application39s Code zu Heroku. Warnung: Die Vagrant Push Heroku-Strategie erfordert, dass Sie Ihre Heroku-Anmeldeinformationen konfiguriert und die Heroku-Anwendung erstellt haben. Diese Dokumentation deckt nicht diese Voraussetzungen ab, aber Sie können mehr über sie in der Heroku-Dokumentation lesen. Nur Dateien, die an das Git-Repository übergeben werden, werden an Heroku verschoben. Darüber hinaus wird der aktuelle Arbeitszweig immer an den Heroku gedrückt, auch wenn er nicht der quotmasterquot-Zweig ist. Die Vagrant Push Heroku-Strategie unterstützt die folgenden Konfigurationsoptionen: app - Der Name der Heroku-Anwendung. Wenn die Heroku-Anwendung nicht existiert, wird eine Ausnahme ausgelöst. Wenn dieser Wert nicht angegeben ist, wird der Basisname des Verzeichnisses, das die Vagrantfile enthält, als der Name der Heroku-Anwendung angenommen. Da sich dieser Wert zwischen Benutzern ändern kann, wird dringend empfohlen, dass Sie die App-Einstellung zu Ihrer Vagrantfile hinzufügen. Dir - Das Basisverzeichnis mit dem Git-Repository zum Hochladen auf Heroku. Standardmäßig ist dies das gleiche Verzeichnis wie die Vagrantfile, aber Sie können dies angeben, wenn Sie ein verschachteltes Git-Verzeichnis haben. Remote - Der Name der Git-Fernbedienung, auf der Heroku konfiguriert ist. Der Standardwert ist quotherokuquot. Verwendung Die Vagrant-Push-Heroku-Strategie wird in der Vagrantdatei mit dem Heroku-Schlüssel definiert: Und dann die Applikation auf Heroku: Konfiguration und Config Vars Letzte Aktualisierung 30. September 2016 Inhaltsverzeichnis Eine bestimmte Codebasis kann zahlreiche Installationen haben: eine Produktionsstätte, eine Inszenierung Website und jede beliebige Anzahl von lokalen Umgebungen, die von jedem Entwickler. Eine Open-Source-App kann Hunderte oder Tausende von Bereitstellungen haben. Obwohl alle den gleichen Code haben, hat jeder dieser Deployments umgebungsspezifische Konfigurationen. Ein Beispiel sind die Anmeldeinformationen für einen externen Dienst wie Amazon S3. Entwickler können ein S3-Konto freigeben, während die Staging-Site und die Produktionsstandorte jeweils über einen eigenen Schlüssel verfügen. Der traditionelle Ansatz für das Handhaben solcher config Vars ist, sie unter Quelle zu stellen - in einer Eigenschaftsakte irgendeiner Art. Dies ist ein fehleranfälliger Prozess und besonders kompliziert für Open-Source-Anwendungen, die häufig separate (und private) Zweige mit app-spezifischen Konfigurationen aufrechterhalten müssen. Eine bessere Lösung ist, Umgebungsvariablen zu verwenden und die Schlüssel aus dem Code heraus zu halten. Auf einem herkömmlichen Host oder lokal arbeiten können Sie die Umgebung vars in Ihrer bashrc-Datei. Auf Heroku verwenden Sie config vars. Konfigurieren von Vars für eine implementierte Anwendung Verwenden Sie die Heroku-CLIs-config. Config: set. Config: get und config: deaktiviert, um Ihre config vars zu verwalten: Vorherige Versionen des Heroku CLI verwendet config: add und config: remove Sie können auch config vars auf dem Tab App-Einstellungen im Dashboard bearbeiten: Heroku manifestiert diese config vars als Umgebungsvariablen die Anwendung. Diese Umgebungsvariablen sind persistent sie bleiben in Platz über Deployments und App Neustarts so, es sei denn, Sie müssen Werte ändern, müssen Sie nur einmal gesetzt. Wenn Sie eine config var setzen oder entfernen, wird Ihre App neu gestartet. Add-ons und config vars Wenn ein Add-On für eine Anwendung erstellt wird, werden in der Regel ein oder mehrere Konfigurationsvars für diese Anwendung erstellt. Diese Konfigurationsvars können durch das Add-on aktualisiert werden - die genauen Werte können sich ändern, wenn der Add-On-Dienstanbieter sie ändern muss. Siehe Add-on-Werte können ändern, um mehr über Add-ons zu erfahren und wie config vars verwendet werden. Limits Config var data (die Auflistung aller Schlüssel und Werte) ist für jede Anwendung auf 32kb begrenzt. Config var-Namen sollten nicht mit einem doppelten Unterstrich () beginnen. Beispiel Fügen Sie einige config vars für Ihre S3-Kontoschlüssel hinzu: Richten Sie Ihren Code ein, um die Vars zur Laufzeit zu lesen. In Ruby greifen Sie beispielsweise mit dem ENVKEY-Muster auf die Umgebungsvariablen zu - so können Sie nun einen Initialisierer wie folgt schreiben: In Java können Sie über Aufrufe von System. getenv (key) darauf zugreifen. Wie folgt: Bereitstellen mit Git Inhaltsverzeichnis Git ist ein leistungsfähiges dezentrales Revisions-Steuersystem und ist das Mittel, um Apps für Heroku bereitzustellen. Sie müssen nicht mit Git beherrschen, um es für den Einsatz von Code zu Heroku verwenden, aber Sie können es wertvoll finden, um die Grundlagen zu lernen. Tracking Ihrer App in git Heroku apps erwarten, dass die App-Verzeichnis-Struktur an der Wurzel des Repository. Wenn Ihre Anwendung innerhalb eines Unterverzeichnisses in Ihrem Repository ist, wird es nicht ausgeführt, wenn auf Heroku gedrückt wird. Bevor Sie eine App auf Heroku schieben können, müssen Sie ein lokales Git-Repository initialisieren und Ihre Dateien damit belegen. Wenn Sie beispielsweise eine App in einem Verzeichnis, myapp, haben, dann erstellen Sie ein neues Repository dafür: Dies ist ein lokales Repository, das sich nun im Verzeichnis. git befindet. Nichts wurde irgendwohin gesendet, aber youll Notwendigkeit, eine Direktübertragung zu verursachen und einen Stoß zu tun, um Ihren Code zu Heroku zu entfalten. Erstellen einer Heroku-Fernbedienung Git-Fernbedienungen sind Verweise auf Remote-Repositories. Sie können eine beliebige Anzahl von diesen haben, aber für jetzt gut Fokus auf nur die Fernbedienung Heroku. Der Heroku-Befehl create erstellt eine neue Anwendung auf Heroku zusammen mit einer git-Fernbedienung, die verwendet werden muss, um Ihre Anwendungsquelle zu empfangen. Standardmäßig konfiguriert Heroku HTTP als Git-Transport. Die Heroku CLI platziert automatisch Anmeldeinformationen in der rc-Datei auf heroku Login. Der Git-Client verwendet cURL, wenn er mit HTTP-Remotes interagiert, und cURL wird die Anmeldeinformationen aus der rc-Datei verwenden. Weitere Informationen finden Sie im Abschnitt zur Authentifizierung und im Abschnitt zur CLI-Authentifizierung. Sie können die Fernbedienung auch in Ihrer git-Konfiguration überprüfen: Sie können auch ein bestehendes Git-Repository nutzen und eine Fernbedienung mit der git-URL hinzufügen, die Sie beim Erstellen der App bereitgestellt haben. Möglicherweise müssen Sie dies tun, um ein Git-Repository mit einer vorhandenen Anwendung zu verknüpfen. Der heroku git: remote Befehl wird diese Fernbedienung für Sie basierend auf Ihren Anwendungen hinzufügen git url. Die Fernbedienung heißt in diesem Beispiel Heroku, aber Sie können die Fernbedienung beliebig benennen, indem Sie - r otherremotename übergeben. Vielleicht finden Sie es einfacher, die Beispiele zu befolgen, wenn Sie die Verwendung der Heroku-Fernbedienung anstatt mit einem mit einem anderen Namen. Es gibt einen speziellen Remote-Namen: Ursprung. Das ist die Voreinstellung für pushes. Mit Herkunft als der Remote-Name können Sie nur git push statt git push Heroku eingeben. Aber wir empfehlen die Verwendung einer explizit benannten Fernbedienung. Um von SSH Git auf HTTP Git umzuschalten. Führen Sie heroku git: remote im Verzeichnis mit Ihrem lokalen Git-Repository. Die CLI wird die Heroku-Git-Fernbedienung außer Kraft setzen, um das HTTP-Protokoll zu verwenden. Bereitstellen von Code Ihre Heroku App startet mit einem leeren Repository ohne Zweige und ohne Code. So das erste Mal, das Sie entfalten, youll Notwendigkeit, einen Fernzweig zu spezifizieren, um zu zu drücken. Sie können Ihre erste Push: Dies wird Ihr Code an die Heroku-Fernbedienung, die früher erstellt wird. Verwenden Sie diese Option, wenn Sie den neuesten Code in Git für Heroku bereitstellen möchten. Während des Starts des ersten Builds wird das Initialisierungsrepository angezeigt, während das App-Repository auf Heroku erstellt wird. Bei anschließenden Builds wird das Fetching-Repository angezeigt, während das App-Repository abgerufen und bereit ist, Ihren Push zu akzeptieren. Verzweigungen, die an Heroku als Master gesendet werden, werden von diesem Befehl ignoriert. Wenn Sie aus einem anderen Zweig lokal arbeiten, können Sie vor dem Schieben entweder zu einem Master zusammenführen oder festlegen, dass Sie Ihren lokalen Zweig zu einem entfernten Master schieben möchten. Um einen anderen Zweig als Master zu schieben, verwenden Sie diese Syntax: Anwendungen, die auf git-Submodule angewiesen sind, werden zusätzlich zu vielen anderen Strategien zur Abhängigkeitsauflösung unterstützt. Git lfs wird nicht unterstützt und kann zu Fehlern führen. Erstellen von Bereitstellungsreihenfolge Wenn mehrere parallele Builds für eine App gestartet werden (entweder durch denselben Benutzer, der mehrere Pushs durch gleichzeitiges Durchschieben von App-Collaborators ausführt oder weil Builds gleichzeitig mit anderen Mechanismen wie Build-API oder GitHub-Sync erstellt werden), wird der letzte Build erstellt Wird im Allgemeinen diejenige sein, die am Ende für die Anwendung bereitgestellt wird, auch wenn dieser Build vor anderen Builds gestartet wurde. Nehmen Sie ein Beispiel für zwei Builds, A und B: Build A wird gestartet, läuft langsam und vervollständigt in 2 Minuten. 30 Sekunden, nachdem Build A gestartet wurde, wird Build B gestartet und in 1 Minute abgeschlossen. Build B wird für die App bereitgestellt, wenn es abgeschlossen ist. 30 Sekunden später baut A fertig und wird für die App bereitgestellt. Das Endergebnis ist, dass Build A auf der App bereitgestellt wird, obwohl Build B später gestartet wurde. Vom Build-Prozess trennen Beim Bereitstellen von Code mit git push. Können Sie den Buildvorgang durch Drücken von Ctrl C ablösen. Ihr Build wird jedoch weiterhin im Hintergrund verarbeitet und wird ein neues Release erstellen, sobald es fertig ist. HTTP-Git-Authentifizierung Der Heroku HTTP-Git-Endpunkt akzeptiert nur eine API-basierte HTTP-Standardauthentifizierung. Ein Benutzername ist nicht erforderlich und jeder Wert, der für Benutzername übergeben wird, wird ignoriert. Sie können sich nicht mit dem Heroku HTTP Git-Endpunkt mit Ihrem Heroku-Benutzernamen (E-Mail) und Ihrem Passwort authentifizieren. Verwenden Sie einen API-Schlüssel, wie in diesem Abschnitt beschrieben Wenn Sie aus irgendeinem Grund den Git-Service mit falschen Anmeldeinformationen authentifizieren, erhalten Sie diese Fehlermeldung: Wenn Sie Heroku-Login durchführen. Schreibt die CLI einen Eintrag für git. heroku in Ihre rc-Datei (oder ihr Windows-Äquivalent). Da der Git-Client cURL verwendet, wenn er mit HTTP-Git-Remotes interagiert, wird nun die korrekte Authentifizierung transparent. Wenn Sie mit anderen Git-Clients wie z. B. EGit oder Tower arbeiten, konfigurieren Sie sie, um eine leere Zeichenfolge für den Benutzernamen (oder eine beliebige Zeichenfolge, die Sie ignoriert haben) und Ihren Konto-API-Schlüssel für das Kennwort zu verwenden. Der API-Schlüssel ist in der CLI und im Dashboard verfügbar. SSH Git-Transport Der von der Heroku-CLI konfigurierte Standard-Git-Transport ist HTTP, aber auch der SSH-Transport wird unterstützt. SSH - und HTTP-Transport können austauschbar von demselben Benutzer und von mehreren Benutzern verwendet werden, die auf derselben App zusammenarbeiten. Damit die Heroku-CLI den SSH-Transport konfigurieren kann, können Sie eine --ssh-git - Flag an die Heroku-Erstellung übergeben. Heroku git: remote und heroku git: Klonbefehle. Um den SSH-Git-Transport nutzen zu können, müssen Sie Ihren SSH-Schlüssel bei Heroku registrieren. Weitere Informationen hierzu finden Sie im Abschnitt Verwalten von SSH-Schlüsseln. Wenn Sie immer SSH Git mit Heroku auf einer bestimmten Maschine verwenden möchten, können Sie die folgende globale Konfiguration hinzufügen: HTTP-URLs werden immer noch in. git-Ordnern geschrieben, aber Git schreibt alle Heroku HTTP-Git-URLs, um SSH zu verwenden, um . Um diese Rewrite-Einstellung zu entfernen, führen Sie aus: Mehrere Remotes und Umgebungen Die gleichen Techniken, die für die Bereitstellung in der Produktion verwendet werden, können verwendet werden, um einen Entwicklungszweig Ihrer Anwendung für eine Staginganwendung auf Heroku bereitzustellen, wie unter Verwalten mehrerer Umgebungen für eine App beschrieben. Build-Cache Buildpacks können optional Inhalte für die Wiederverwendung zwischen Builds zwischenspeichern. Ein typischer Use-Case für den Buildpack besteht darin, Builds durch Caching von Abhängigkeiten zu beschleunigen, sodass sie nicht bei jedem Build neu geholt werden müssen. Dies beschleunigt sehr schnell baut. Wenn Sie vermuten, dass ein Build-Problem mit dieser Zwischenspeicherung zusammenhängt, können Sie das Heroku-Repoprogramm verwenden, um den Cache zu löschen. Repository-Größe Während es keine harte Grenze für Ihre Repository-Größe gibt, werden sehr große Repositories (über 600 MB) nicht empfohlen, da sie Zeitüberschreitungen und langsame Stöße insgesamt verursachen können. Running Heroku-Apps: info zeigt Ihnen Ihre Repository-Größe. Der App-Build-Cache wird im App-Repository gespeichert, also überrascht es nicht, wenn das Repository größer als lokal ist. Häufige Ursachen für große Repositories sind Binärdateien, die in das Repository überprüft werden (Git ist notorisch schlecht im Umgang mit Binärdateien) oder ständig wechselnde Entwicklungsprotokolle. Das Entfernen von Dateien, die durch Unfall begangen werden, kann mit git filter-branch durchgeführt werden. Obwohl nach dem Ausführen müssen Sie mit der - Force-Option, die etwas, was erfordert Koordination in Ihrem Team zu drücken. Andere Grenzen Um den Git-Dienst zu schützen, legt Heroku bestimmte Git-Repository-Nutzung und Content-Größe fest. Die Benutzer beschränken sich auf ein Rollfenster von 75 Git-Anfragen pro Stunde, pro Benutzer und pro App. Sobald diese Grenze erreicht ist, werden Git-Anfragen verweigert, bis die Anforderungsstufen für ein paar Minuten unter die Grenze fallen, mit der Fehlermeldung: Wenn Sie dieses Limit erreichen, stellen Sie sicher, dass keine automatisierten Prozesse oder Scripts das Git-Repository abfragen. Darüber hinaus kann die unkomprimierte Größe einer Kasse aus dem Repository, kombiniert mit der Größe der wiederhergestellten Submodule, 1 GB nicht überschreiten. Verwenden von Subversion oder anderen Revisionssteuersystemen Was ist, wenn Sie bereits Subversion oder ein anderes Revisionssteuersystem verwenden, um Ihren Quellcode zu verfolgen Obwohl wir glauben, dass Git eine der besten Möglichkeiten für die Revisionssteuerung ist, müssen Sie nicht aufhören, Ihr aktuelles Revisionssteuersystem zu verwenden . Git kann nur ein Bereitstellungsmechanismus sein, der neben dem anderen Tool vorhanden ist. Sie können viel mehr über. gitignore in unserem Artikel zum Thema lernen. Wenn Sie beispielsweise Subversion verwenden, initialisieren Sie Ihr Git-Repository wie oben beschrieben. Fügen Sie dann eine. gitignore-Datei hinzu, die Git anzeigt, Ihre Subversion-Verzeichnisse zu ignorieren. Jetzt sagen Subversion zu ignorieren Git: Die - f (Kraft-Flag) wird empfohlen, um Konflikte mit anderen Entwicklern zu vermeiden schiebt. Da Sie Git nicht für Ihre Revisionskontrolle verwenden, sondern als Transport nur, mit der Kraft-Flag ist eine vernünftige Praxis. Jedes Mal, wenn Sie für Heroku einsetzen möchten:


No comments:

Post a Comment