In diesem Leitfaden zeigen wir dir, wie du eine Ruby on Rails-Anwendung der Version 7.1 einrichtest und konfigurierst, um sie auf Kinsta bereitzustellen und zu hosten. Egal, ob du ein Anfänger oder ein erfahrener Ruby on Rails-Entwickler bist, diese Schritt-für-Schritt-Anleitung wird dir helfen, deine Anwendung auf Kinsta einzurichten.
Voraussetzungen
Bevor wir mit dieser Anleitung loslegen, wir gehen davon aus, dass du ein grundlegendes Verständnis von Git und Ruby on Rails hast. Dazu gehört auch die Installation von Ruby, Rails und den notwendigen Abhängigkeiten auf deinem lokalen Entwicklungsrechner.
Schritt 1: Einrichten eines Kinsta-Hosting-Kontos
Besuche die Kinsta-Website und erstelle einen neuen Account, falls du noch keinen hast. Konfiguriere deinen Domainnamen oder verwende eine zugewiesene Kinsta-URL, die du bei der Bereitstellung erhältst.
Schritt 2: Erstelle eine neue Ruby on Rails-Anwendung
Öffne dein Terminal und navigiere zu dem Verzeichnis, in dem du deine neue Rails-Anwendung erstellen möchtest. Führe den folgenden Befehl aus, um sie zu erstellen:
rails new myapp --database=postgresql --javascript=esbuild --css=tailwind
Dieser Befehl erstellt eine neue Rails-Anwendung namens myapp
mit PostgreSQL als Datenbankadapter, esbuild
für die Kompilierung unseres Javascript und Tailwind CSS
framework.
Du kannst myapp
durch deinen gewünschten Anwendungsnamen ersetzen.
Eine vollständige Liste der Optionen, die du mit dem Befehl rails new
konfigurieren kannst, findest du hier:
rails new --help
Schritt 3: Konfiguriere deine Rails-Anwendung
Wechsle in das Anwendungsverzeichnis:
cd myapp
Stelle sicher, dass du beim Bündeln deiner Rails-Anwendung auch die Linux-Plattform hinzufügst, da dies das Betriebssystem ist, das für die Bereitstellung verwendet wird. Gib den folgenden Befehl in das Terminal ein:
bundle lock --add-platform x86_64-linux
Webprozess-Skript
Füge eine start.sh-Datei in das bin-Verzeichnis der Anwendung ein. Damit wird sichergestellt, dass der Server deine Anwendung startet und die notwendigen Befehle ausführt, um die Datenbank zu starten und zu aktualisieren, bevor sie läuft. Erstelle die Datei in deinem Terminal, indem du eingibst:
touch bin/start.sh
Füge in dieser Datei Folgendes ein:
#!/bin/bash
bundle exec rails db:prepare
bundle exec rails server
Show Me Home
Und um uns ein Hello World zu geben, erstelle eine Home
Seite für die Anwendung. Gib in deinem Terminal Folgendes ein:
bin/rails generate controller Home index
Dies wird ausgegeben:
create app/controllers/home_controller.rb
route get 'home/index'
invoke erb
create app/views/home
create app/views/home/index.html.erb
invoke test_unit
create test/controllers/home_controller_test.rb
invoke helper
create app/helpers/home_helper.rb
invoke test_unit
Öffne app/views/home/index.html.erb und ersetze ihren Inhalt durch:
<h1>Hello, Kinsta!</h1>
Festlegen der Anwendungsstartseite
Öffne config/routes.rb und füge die folgende Root-Route an den Anfang des Rails.application.routes.draw-Blocks:
Rails.application.routes.draw do
root "home#index"
get "/home", to: "home#index"
end
Wenn wir nun unsere Anwendung lokal ausführen, sehen wir unsere neue Startseite. Da wir unsere neue Anwendung mit der Hinzufügung von esbuild
generiert haben, haben wir einen vereinfachten Befehl, der uns hilft, unsere Anwendung zu starten. Wenn du den folgenden Befehl ausführst, startet Rails den Server und überwacht sowohl CSS- als auch Javascript-Änderungen mit Live-Reload:
bin/dev
Eine Datenbank erstellen
Da wir unsere Rails-Anwendung mit einer PostgreSQL-Datenbank erstellt haben, müssen wir diese über das MyKinsta Dashboard einrichten:
- Melde dich in deinem Kinsta.com-Konto an und klicke in deinem Dashboard auf Dienste hinzufügen und wähle Datenbank.
- Gib die grundlegenden Daten ein und bestätige auf der Übersichtsseite mit einem Klick auf Datenbank erstellen.
Schritt 4: Vorbereitungen für den Einsatz
Beginne damit, ein neues Repository auf GitHub anzulegen, um deine Codebasis zu hosten.
Erstelle ein lokales Git-Repository in deinem Rails-Anwendungsverzeichnis auf der Stammebene:
git init
Erstelle eine .gitignore-Datei im Stammverzeichnis deiner Anwendung und schließe unnötige Dateien und Verzeichnisse von der Versionskontrolle aus. Eine Beispiel- .gitignore-Datei für eine Rails-Anwendung findest du auf der offiziellen GitHub-Seite.
Um dein lokales Repository mit dem auf GitHub erstellten Repository zu verbinden, fügst du den Remote-Ursprung zu deinem lokalen Repository hinzu und ersetzst username
und repository
durch deinen eigenen:
git remote add origin https://github.com/username/repository.git
Füge deinen Code hinzu, übertrage ihn und pushe ihn in das Git-Repository:
git add .
git commit -m "Initial commit"
git push
Da wir Kinsta so eingestellt haben, dass es bei jedem Push in das Repository automatisch bereitgestellt wird, schlägt unser erster Build fehl. Das liegt daran, dass wir die Datenbank noch nicht mit der Anwendung verbunden haben, was wir im nächsten Schritt tun werden.
Schritt 5: Bereitstellung auf Kinsta.com
- Melde dich bei deinem Kinsta.com-Konto an.
- Klicke in deinem Dashboard auf Dienste hinzufügen und wähle Anwendung.
- Verbinde dich mit einem Git-Anbieter.
Details deiner Anwendung einrichten
- Füge das Repository hinzu und wähle den Standardzweig aus.
- (optional) Wähle Automatische Verteilungen für diesen Standardzweig.
- Füge den Namen der Anwendung hinzu. Er wird verwendet, um die Anwendung in deinem Dashboard zu identifizieren.
- Wähle den Standort des Rechenzentrums. Entscheide dich für den Standort, der deiner Zielgruppe am nächsten ist.
In diesem Stadium kannst du Umgebungsvariablen hinzufügen (Beispiele). Deine neu erstellte Rails-Anwendung wird mit einem Hauptschlüssel geliefert, der die Geheimnisse in der Credentials-Datei im config-Ordner entschlüsselt und liest. Bewahre deinen Hauptschlüssel niemals in der Versionskontrolle auf (er befindet sich bereits in der .gitignore-Datei).
Um die Entschlüsselung zu ermöglichen, musst du die Variablen mit einem speziellen Schlüssel einrichten. Erweitere die Umgebungsvariablen, kopiere den Wert deiner lokalen Hauptschlüsseldatei und füge ihn in das Feld Wert 1 der Variable RAILS_MASTER_KEY
ein:
Einrichten deiner Build-Umgebung
- Wähle deine Build-Ressourcen.
- Für Rails-Anwendungen wählst du Buildpacks verwenden.
- Klicke auf Weiter.
Konfiguriere deine Anwendungsressourcen
- Lass das Feld für den Startbefehl leer, denn dieser wird über den Befehl definiert, den wir in der Datei bin/start.sh erstellt haben.
- Klicke auf Weiter.
Datenbank für deine Anwendungen erstellen
Wir müssen die endgültige Verbindungskonfiguration für die Datenbank vornehmen.
- Klicke im MyKinsta Dashboard-Menü auf der linken Seite auf Datenbanken und dann auf den Namen der neu erstellten Datenbank.
- Unter der Überschrift Info siehst du die Unterüberschrift Interne Verbindungen und klickst auf Anwendung hinzufügen.
- Wähle aus dem Dropdown-Menü deine Rails-Anwendung aus.
- Aktiviere das Kontrollkästchen Umgebungsvariablen zur Anwendung hinzufügen.
- Klicke auf Verbindung hinzufügen.
Konfiguriere deine lokale Datenbank
Öffne die Datei config/database.yml und aktualisiere die Datenbankkonfiguration entsprechend den Zugangsdaten deiner MyKinsta-Datenbank.
Beispiel:
production:
adapter: postgresql
encoding: unicode
pool: 5
database: <%= ENV["DB_NAME"] %>
host: <%= ENV["DB_HOST"] %>
username: <%= ENV["DB_USER"] %>
password: <%= ENV["DB_PASSWORD"] %>
Weitere Informationen zur Handhabung von Datenbankverbindungen findest du in unserer Dokumentation zu den Einstellungen.
Bestätige deine Konfiguration und gib die Zahlungsdaten ein, um die Einrichtung der Anwendung abzuschließen. Kinsta stellt sie dann in wenigen Minuten bereit.
Zusammenfassung
Wenn du diese Anleitung befolgt hast, hast du deine Ruby on Rails Version 7.1 mit einer PostgreSQL-Datenbank erfolgreich eingerichtet und konfiguriert, um sie bei Kinsta zu hosten und bereitzustellen.
Jetzt kannst du dich auf die Entwicklung deiner Anwendung konzentrieren und die leistungsstarken Funktionen von Kinsta für eine reibungslose Bereitstellung und das Hosting nutzen. Vergiss nicht, die offizielle Dokumentation zu lesen oder bei Bedarf den Kinsta-Support um weitere Unterstützung zu bitten.
Schreibe einen Kommentar