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.

Eine Datenbank erstellen
Eine 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

  1. Melde dich bei deinem Kinsta.com-Konto an.
  2. Klicke in deinem Dashboard auf Dienste hinzufügen und wähle Anwendung.
  3. Verbinde dich mit einem Git-Anbieter.

Einen Git-Anbieter verbinden
Einen Git-Anbieter verbinden

Details deiner Anwendung einrichten

  1. Füge das Repository hinzu und wähle den Standardzweig aus.
  2. (optional) Wähle Automatische Verteilungen für diesen Standardzweig.
  3. Füge den Namen der Anwendung hinzu. Er wird verwendet, um die Anwendung in deinem Dashboard zu identifizieren.
  4. Wähle den Standort des Rechenzentrums. Entscheide dich für den Standort, der deiner Zielgruppe am nächsten ist.

Anwendung hinzufügen
Anwendung hinzufügen

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:

Umgebungsvariablen
Umgebungsvariablen

Einrichten deiner Build-Umgebung

  1. Wähle deine Build-Ressourcen.
  2. Für Rails-Anwendungen wählst du Buildpacks verwenden.
  3. Klicke auf Weiter.

Build-Umgebung in MyKinsta
Buildpacks verwenden

Konfiguriere deine Anwendungsressourcen

  1. 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.
  2. Klicke auf Weiter.

Prozesse einrichten
Prozesse einrichten

Datenbank für deine Anwendungen erstellen

Wir müssen die endgültige Verbindungskonfiguration für die Datenbank vornehmen.

  1. Klicke im MyKinsta Dashboard-Menü auf der linken Seite auf Datenbanken und dann auf den Namen der neu erstellten Datenbank.
  2. Unter der Überschrift Info siehst du die Unterüberschrift Interne Verbindungen und klickst auf Anwendung hinzufügen.
  3. Wähle aus dem Dropdown-Menü deine Rails-Anwendung aus.
  4. Aktiviere das Kontrollkästchen Umgebungsvariablen zur Anwendung hinzufügen.
  5. Klicke auf Verbindung hinzufügen.

Interne Verbindungen hinzufügen
Interne Verbindungen

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.

Lee Sheppard

Lee is an Agile certified full stack Ruby on Rails developer. With over six years in the tech industry he enjoys teaching, coaching Agile, and mentoring others. Lee also speaks at tech related events and has a background in design and illustration.