Erste Schritte mit der Entwicklung von Ruby on Rails-Anwendungen, die in der flexiblen App Engine-Umgebungausgeführt werden Die von Ihnen erstellten Anwendungen werden auf derselben Infrastruktur ausgeführt, auf der alle Google-Produkte basieren. So können Sie sicher sein, dass sie für alle Nutzer skaliert werden können, unabhängig davon, ob es sich um wenige oder Millionen von ihnen handelt.
In dieser Anleitung wird davon ausgegangen, dass Sie mit der Rails-Webentwicklung vertraut sind. Es wird darin gezeigt, wie Sie eine neue Rails-Anwendung bereitstellen.
Für diese Anleitung ist Ruby 3.0 oder höher erforderlich.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
Lokale Umgebung für Rails einrichten
So richten Sie Ihre lokale Umgebung für die Rails-Entwicklung ein:
Installieren Sie Ruby Version 3.0 oder höher.
Installieren Sie das Rails 7 Gem.
Installieren Sie das Bundler Gem.
Alternativ können Sie auch Cloud Shell verwenden. Dort sind Ruby, Rails und die Google Cloud CLI bereits installiert.
Weitere Informationen zur Installation von Rails und seinen Abhängigkeiten finden Sie in der offiziellen Anleitung Erste Schritte mit Rails guide.
Nachdem Sie die Voraussetzungen erfüllt haben, können Sie eine Rails-Anwendung erstellen und bereitstellen. In den folgenden Abschnitten erfahren Sie, wie Sie eine Anwendung konfigurieren, ausführen und bereitstellen.
Neue App erstellen
Erstellen Sie eine neue Rails-Beispiel-App.
rails new appengine_exampleGehen Sie zum Verzeichnis mit dem Beispielcode.
cd appengine_example
Anwendung lokal ausführen
So führen Sie die neue Rails-Anwendung lokal auf Ihrem Computer aus:
Starten Sie einen lokalen Webserver:
bundle exec rails serverRufen Sie in Ihrem Browser die URL http://localhost:3000/ auf.
In der Beispielanwendung wird das Rails-Logo mit den Rails- und Ruby-Versionen angezeigt.
Einfache Seite hinzufügen
Sie fügen der erzeugten Rails-Anwendung nun eine Begrüßungsseite hinzu.
Erstellen Sie zum Generieren des Gerüsts für eine neue Seite einen neuen Rails-Controller mit dem Namen
WelcomeControllerund der Aktionindex.bundle exec rails generate controller Welcome indexÖffnen Sie die Datei
app/views/welcome/index.html.erb, um den folgenden Standard-HTML-Code zu sehen.Ändern Sie die Datei nach Belieben ab. Sie können zum Beispiel folgenden Inhalt verwenden:
Legen Sie die Controller-Aktion
indexals Stammaktion für Rails fest. Wenn ein Nutzer dann die Rails-Anwendung aufruft, wird die Begrüßungsseite angezeigt.Öffnen Sie die Datei
config/routes.rb, um die folgenden generierten Inhalte zu sehen.Fügen Sie
root 'welcome#index'hinzu, um diese Datei zu ändern.Speichern Sie die Datei und schließen Sie sie. Testen Sie die Rails-Anwendung wie zuvor.
Anwendung in der flexiblen App Engine-Umgebung bereitstellen
Die flexible App Engine-Umgebung verwendet eine Datei mit dem Namen app.yaml.
zur Konfiguration der Erstellung einer Anwendung. Wenn diese Datei nicht vorhanden ist, versucht die gcloud CLI, die Konfiguration selbst zu bestimmen. Es ist aber besser, die Datei zur Verfügung zu stellen, da von Rails in einer Produktionsumgebung ein geheimer Schlüssel benötigt wird.
Erstellen Sie eine neue Datei mit dem Namen app.yaml im Stammverzeichnis der Beispielanwendung und fügen Sie die nachstehenden Informationen hinzu, um die Beispielanwendung für die Bereitstellung in App Engine zu konfigurieren:
Geheimen Schlüssel für Rails konfigurieren
Wenn Sie eine Rails-Anwendung in der Produktionsumgebung bereitstellen, legen Sie die Umgebungsvariable SECRET_KEY_BASE auf einen geheimen Schlüssel fest. Mit diesem werden die Sitzungsdaten von Nutzern geschützt. Diese Umgebungsvariable wird in der Datei config/secrets.yml gelesen.
Erzeugen Sie einen neuen geheimen Schlüssel.
bundle exec rails secretKopieren Sie den generierten geheimen Schlüssel. Der geheime Schlüssel wird im nächsten Schritt benötigt.
Öffnen Sie die zuvor erstellte Datei
app.yamlund fügen Sie den Abschnittenv_variableshinzu.env_variableslegt Umgebungsvariablen in derproduction- Umgebung in der flexiblen App Engine-Umgebung fest. Ihrapp.yamlsollte wie im folgenden Beispiel aussehen, wobei[SECRET_KEY]durch Ihren kopierten geheimen Schlüssel ersetzt wird.
App in einer flexiblen App Engine-Umgebung einrichten
Wenn Sie zum ersten Mal eine Anwendung bereitstellen, müssen Sie eine Anwendung in der flexiblen App Engine-Umgebung erstellen, um die Region auszuwählen, in der die Rails-Anwendung ausgeführt werden soll. Weitere Informationen zu Regionen und Zonen.
Erstellen Sie eine App Engine-Anwendung. Standardmäßig werden mit dem folgenden Befehl zwei Instanzen erstellt:
gcloud app createWählen Sie eine Region aus, die die flexible App Engine-Umgebung für Ruby-Anwendungen unterstützt.
In flexibler App Engine-Umgebung bereitstellen
Stellen Sie die Beispiel-App bereit, indem Sie den folgenden Befehl ausführen:
gcloud app deploy
Warten Sie auf die Nachricht, dass das Update abgeschlossen ist. Dieser Vorgang kann einige Minuten dauern.
Auf die bereitgestellte Rails-App zugreifen
Führen Sie
gcloud infoaus, um Ihre Projekt-ID abzurufen.Geben Sie im Webbrowser die folgende URL ein:
https://PROJECT_ID.REGION_ID.r.appspot.comErsetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDREGION_ID: Ein Code, der Ihrer Anwendung von App Engine zugewiesen wird
Der folgende Inhalt wird angezeigt.

Dieses Mal wird Ihre Anfrage von der Rails-Anwendung in der flexiblen App Engine-Umgebung bearbeitet.
Mit diesem Befehl wird die Anwendung wie unter app.yaml beschrieben bereitgestellt und die neu bereitgestellte Version als Standardversion festgelegt. Dadurch wird der gesamte neue Traffic verarbeitet.
Bei Bereitstellung der Anwendung werden Ihnen u. U. mehrere wiederholte Nachrichten angezeigt, während die Plattform prüft, ob die Anwendung arbeitet. Dies ist normal. Warten Sie auf die Nachricht, dass das Update der Anwendung abgeschlossen ist.
Wenn Sie die Anwendung aktualisieren, können Sie die aktualisierte Version mit demselben Befehl bereitstellen, den Sie bei der ersten Bereitstellung der Anwendung verwendet haben. Bei der neuen Bereitstellung wird eine neue Version der App erstellt und zur Standardversion hochgestuft. Die älteren Versionen der Anwendung und die zugehörigen VM-Instanzen werden beibehalten. Beachten Sie, dass alle diese Anwendungsversionen und VM-Instanzen kostenpflichtige Ressourcen sind.
App Engine-Logs lesen
Nach Bereitstellung der Rails-App möchten Sie vielleicht die Logs einsehen. Die Anwendungslogs können Sie mit dem
Log-Explorer
in der Google Cloud Console oder mit gcloud app logs read einsehen.
Weitere Informationen zum
Lesen von Logs mit der gcloud CLI
Ressourcen bereinigen
Nachdem Sie die Anleitung abgeschlossen haben, können Sie die erstellten Ressourcen bereinigen, damit sie keine Kontingente mehr nutzen und keine Gebühren mehr anfallen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.
So löschen Sie das Projekt:
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
App Engine-Version löschen
So löschen Sie eine Anwendungsversion:
- Wechseln Sie in der Google Cloud Console zur Seite Versionen für App Engine.
- Klicken Sie auf das Kästchen für die nicht standardmäßige Anwendungsversion, die Sie löschen möchten.
- Klicken Sie zum Löschen der Anwendungsversion auf Löschen.
Nächste Schritte
Erfahren Sie, wie Sie Cloud SQL für MySQL mit Rails verwenden
Erfahren Sie, wie Sie Cloud SQL für PostgreSQL mit Rails verwenden
Mehr über die Ausführung der Ruby Bookshelf-Beispielanwendung in der flexiblen App Engine-Umgebung
Erfahren Sie, wie Sie das Ruby Bookshelf-Beispiel in Compute Engine ausführen
Erfahren Sie, wie Sie die Ruby-Bookshelf-Beispielanwendung in GKE ausführen