[RUBY] [Schienen] Heroku-Bereitstellungsablauf

Memorandum

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!

Schritt 1 Installieren Sie Heroku CLI

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.

Schritt 2 Melden Sie sich bei Heroku an

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!

Schritt 3 Führen Sie rails_12factor ein

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.

Schritt 4 Erstellen Sie eine App auf Heroku

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

Schritt 5 Stellen Sie MySQL auf Heroku zur Verfügung

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.

Schritt 5.5 Geben Sie credentials.yml.enc mit master.key doppelt aus

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

Schritt 6 Installieren Sie master.key auf Heroku

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

Schritt 7 Drücken Sie die App

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 ...

Schritt 8 Führen Sie die Migration auf Heroku durch

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

Nachtrag

Wenn Sie in Zukunft zusätzliche Funktionen in der Produktionsumgebung bereitstellen, können Sie diese einfach über Commit → Push → Schritt 7 bereitstellen.

Zusammenfassung

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

[Schienen] Heroku-Bereitstellungsablauf
Rails Heroku-Bereitstellungsverfahren
Rails (postgeresql. Ubuntu-Umgebung), Heroku-Bereitstellung
[Rails] Flow bei der Installation von Gem Devise
Schienen g Modell Gesamtdurchfluss
Erstellen des ersten LINEbot mit AWS Cloud9 (Rails + Heroku-Bereitstellung)
[Rails] Heroku-Bereitstellungsfehler ActionView :: Template :: Error (Mysql2 :: Error: Tabelle --- existiert nicht):
Rails auf EC2 starten (manuelle Bereitstellung)
Rails Die AWS-Bereitstellung wird nicht berücksichtigt
Stellen Sie Rails on Docker für Heroku bereit
Problematischer Ablauf der Rails-Umgebung [Windows 10]
[EC2 / Vue / Rails] EC2-Bereitstellungsverfahren für Vue + Rails
Reflektieren Sie das Anwendungsupdate nach der Heroku-Bereitstellung
[Rails] Zusammenfassung der AWS-Bereitstellungsfehler
Stellen Sie Heroku mit Rails6 (Cloud9 + Ubuntu) + MySQL bereit
Mit Docker auf Heroku bereitstellen (Rails 6, MySQL)
Bereitstellen für Heroku [Ruby on Rails] Anfänger
[heroku] run rail db: migrieren funktioniert nicht
[Rails / Heroku] Fehlerbehebungsverfahren nach dem Drücken