Bei der Bereitstellung mit Heroku vergesse ich es oft, also für die Aufnahme Da es sich um einen Anfänger handelt, weisen Sie bitte darauf hin, wenn Sie einen Fehler machen. In dieser Umgebung werden Rails und MySQL verwendet. Ich hoffe, es wird für Anfänger in der Programmierung nützlich sein!
Dies ist nur die erste Bereitstellung. Zum zweiten und nachfolgenden Mal siehe Schritt 2.
Terminal
Geben Sie den folgenden Befehl in das zu verwendende Verzeichnis ein
% brew tap heroku/brew && brew install heroku
Mit diesem Befehl können Sie den Heroku-Befehl verwenden, mit dem Sie sich von Ihrem Terminal aus bei Heroku anmelden können.
Geben Sie Folgendes in das Terminal ein
% heroku login --interactive
=> Enter your Heroku credentials.
#Geben Sie Ihre E-Mail-Adresse ein und drücken Sie die Eingabetaste
=> Email:
#Geben Sie das Passwort ein und drücken Sie die Eingabetaste
=> Password:
Sie sind jetzt bei Heroku angemeldet!
Gem mit Assets zum Ausführen von Rails-Anwendungen auf einem Server wie einer Produktionsumgebung
#Gemfile hinzufügen
group :production do
gem 'rails_12factor'
end
Edelsteininstallation
% bundle install
Bearbeitet also festschreiben
% git add .
% git commit -m "gem rails_Addition von 12 Faktoren"
Denken Sie daran, jede Änderung festzuschreiben und zu übertragen, da die Bereitstellung die Daten im Remote-Repository verwendet.
Erstellen Sie eine App auf Heroku mit dem Befehl Heroku Create. heroku create Der Name der App, die Sie erstellen möchten
Am Terminal eintreten
Beispiel
% heroku create heroku-test01
Durch Hinzufügen des ClearDB-Add-Ons können Sie MySQL in Heroku verwenden.
Führen Sie den folgenden Befehl im Terminal aus
heroku addons:add cleardb
Geben Sie Folgendes in das Terminal ein
#ClearDB-Datenbank-URL-Variable heroku_cleardb
% heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`
#Datenbank-URL zurücksetzen
% heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5}
Zu diesem Zeitpunkt können Sie MySQL verwenden. Bevor wir mit Schritt 4 fortfahren, werfen wir einen kurzen Blick auf die Dateien credentials.yml.enc und master.key.
Die Datei credentials.yml.enc ist eine Datei, die Informationen verarbeitet, die Sie nicht mit Schienen nach außen verlieren möchten.
master.key-Datei Eine Datei ist eine Datei zum Duplizieren der Code-Anweisung von credentials.yml.enc. Da master.key eine wichtige Datei ist, wird sie standardmäßig nicht von Git verarbeitet.
Der folgende Befehl entschlüsselt credentials.yml.enc mit master.key und der Inhalt kann bestätigt werden.
#Führen Sie den folgenden Befehl im Terminal aus
% EDITOR="vi" bin/rails credentials:edit
Wie ich zuvor erklärt habe, kann master.key nicht von Git verarbeitet werden, daher müssen Sie Umgebungsvariablen festlegen. heroku config: setze Umgebungsvariablenname = "Wert" Auf diese Weise können Sie Umgebungsvariablen in Heroku festlegen und master.key verwenden.
Geben Sie Folgendes in das Terminal ein
heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
Überprüfen Sie die Einstellungen der Umgebungsvariablen mit dem folgenden Befehl
% heroku config
Der Inhalt des Remote-Repositorys wird mit dem Befehl git push heroku master in die App auf heroku übertragen.
Führen Sie das Terminal unten aus
% git push heroku master
Bis zu diesem Punkt wurde die Anwendung auf Heroku reflektiert! Die Migrationsinformationen werden jedoch nicht wiedergegeben ...
Die Migrationsinformationen werden in der Heroku-Datenbank mit dem Befehl heroku run Rails db: migrate wiedergegeben.
Führen Sie den folgenden Befehl im Terminal aus
% heroku run rails db:migrate
#Sie können die Informationen der auf Heroku bereitgestellten Anwendung mit dem folgenden Befehl überprüfen
% heroku apps:info
Wenn Sie in Zukunft zusätzliche Funktionen in der Produktionsumgebung bereitstellen, können Sie diese einfach über Commit → Push → Schritt 7 bereitstellen.
Ist Prost für gute Arbeit! Dies ist das Ende aller Bereitstellungsarbeiten! Ich denke, dass Heroku im eigentlichen Bereich selten verwendet wird, aber es ist eine sehr praktische Einführung in die Bereitstellung, da es ein Tool ist, das für Anfänger, einschließlich mir, leicht bereitgestellt werden kann! Ich hoffe es hilft jemandem.
Recommended Posts