Erste Schritte mit der Entwicklung von Ruby on Rails-Anwendungen, die in der flexiblen App Engine-Umgebung ausgefü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 erstellen.
Für diese Anleitung ist Ruby 2.6 oder 2.7 erforderlich.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Lokale Umgebung für Rails einrichten
So richten Sie Ihre lokale Umgebung für die Rails-Entwicklung ein:
Installieren Sie Ruby 2.6 oder 2.7.
Installieren Sie das Gem Rails 5.
Installieren Sie das Gem Bundler.
Alternativ können Sie Cloud Shell verwenden. Dort sind Ruby, Schienen und die Google Cloud CLI bereits installiert.
Weitere Informationen zur Installation von Rails und dessen Abhängigkeiten finden Sie im offiziellen Leitfaden Erste Schritte mit Rails.
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_example
Gehen 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:
Installieren Sie die Abhängigkeiten mit Bundler:
bundle install
Starten Sie einen lokalen Webserver:
bundle exec rails server
Rufen Sie in einem Browser http://localhost:3000/ auf.
Die Meldung Yay! Sie sind auf Rails!"der Beispiel-Anwendung, die auf der Seite angezeigt wird.
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
WelcomeController
und 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
index
als 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-Befehlszeile, die Bereitstellungskonfiguration zu erraten. 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 secret
Kopieren Sie den generierten geheimen Schlüssel. Der geheime Schlüssel wird im nächsten Schritt benötigt.
Öffnen Sie die zuvor erstellte Datei
app.yaml
und fügen Sie den Abschnittenv_variables
hinzu.env_variables
legt Umgebungsvariablen in derproduction
- Umgebung in der flexiblen App Engine-Umgebung fest. Ihrapp.yaml
sollte 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. Mit dem folgenden Befehl werden standardmäßig zwei Instanzen erstellt:
gcloud app create
Wä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 info
aus, um Ihre Projekt-ID abzurufen.Geben Sie im Webbrowser die folgende URL ein:
https://PROJECT_ID.REGION_ID.r.appspot.com
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Google Cloud-Projekt-IDREGION_ID
: Ein Code, den App Engine Ihrer Anwendung zuweist.
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 App aktualisieren, können Sie die aktualisierte Version mit demselben Befehl bereitstellen, den Sie bei der ersten Bereitstellung der App verwendet haben. Bei der neuen Bereitstellung wird eine neue Version der Anwendung 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
Wenn Sie nach der Erstellung der Rails-Anwendung die Logs aufrufen möchten, Sie können die Anwendungslogs mit dem Log-Explorer in der Google Cloud Console oder mit gcloud app logs read
lesen.
Weitere Informationen finden Sie unter Logs über die gcloud CLI lesen.
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:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
App Engine-Version löschen
So löschen Sie eine Anwendungsversion:
- In the Google Cloud console, go to the Versions page for App Engine.
- Select the checkbox for the non-default app version that you want to delete.
- Klicken Sie zum Löschen der Anwendungsversion auf Löschen.
Weitere Informationen
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