Anwendungen erstellen, die Informationen in IBM Cloudant speichern
Hier erfahren Sie, wie Sie Ihre Anwendung Code Engine aus Quellcode erstellen, der auf Ihrer lokalen Workstation gespeichert ist. In diesem Lernprogramm wird eine Beispielquelle verwendet, die zum Erstellen der App verwendet wird. Diese Anwendung stellt eine Verbindung zu einer IBM Cloudant-Datenbank her und speichert Eingaben aus dieser App.
Ein Build oder ein Image-Build ist ein Mechanismus, mit dem Sie ein Container-Image aus Ihrem Quellcode erstellen können. Code Engine unterstützt die Erstellung aus einer Dockerfile und Cloud Native Buildpacks.
Vorbereitende Schritte
- Konfigurieren Sie die Umgebung der Code Engine-Befehlszeilenschnittstelle.
- Erstellen Sie ein Projekt und arbeiten Sie damit.
- Git
- Node.js und npm
Alle Code Engine-Benutzer müssen über ein nutzungsabhängiges Konto verfügen. Für Tutorien können Kosten anfallen. Verwenden Sie den Cost Estimator, um einen Kostenvoranschlag auf der Grundlage Ihrer voraussichtlichen Nutzung zu erstellen. Weitere Informationen finden Sie unter Preisstruktur fürCode Engine.
Eine IBM Cloudant-Serviceinstanz und -Datenbank erstellen
Ihr erster Schritt besteht darin, eine IBM Cloudant-Serviceinstanz zu erstellen und anschließend eine Datenbank zu erstellen. Sie können eine über die Konsole oder mithilfe von CLI-Befehlen erstellen. Erstellen Sie außerdem Serviceberechtigungsnachweise, die Sie an Ihre Anwendung übergeben können.
- Erstellen Sie eine IBM Cloudant-Serviceinstanz. Führen Sie dazu die Schritte unter Einführung in IBM Cloudant aus. Nennen Sie Ihre Instanz
CloudantFruitCounter. Stellen Sie sicher, dass Sie die Task ausführen, indem Sie Ihre Serviceberechtigungsnachweise erstellen. - Öffnen Sie das Dashboard IBM Cloudant für Ihre Instanz und klicken Sie auf Datenbank erstellen.
- Geben Sie im Fenster Datenbank erstellen den Datenbanknamen
fruitcounterein. - Wählen Sie die Option Partitioniert nicht aus und klicken Sie auf Erstellen.
Anwendung lokal testen
Bevor Sie Ihren Code als Anwendung in Code Engineerstellen, testen Sie Ihren Code lokal, um sicherzustellen, dass er ordnungsgemäß funktioniert.
-
Rufen Sie die Berechtigungsnachweise für den Service IBM Cloudant aus dem Dashboard IBM Cloudant ab. Weitere Informationen zum Abrufen von Berechtigungsnachweisen finden Sie unter Serviceberechtigungsnachweise erstellen.
-
Definieren Sie Umgebungsvariablen mit den Werten aus den Serviceberechtigungsnachweisen.
export CLOUDANT_URL=<your_url>export CLOUDANT_APIKEY=<your_key>export DBNAME="fruitcounter" -
Klonen Sie das
fruit-counter-Repository, wechseln Sie in das Verzeichnis und installieren und starten Sie anschließend die Abhängigkeiten.git clone https://github.com/IBM/CodeEngine cd CodeEngine/fruit-counter npm install npm run start -
Öffnen Sie einen Browser und rufen Sie
http://localhost:8080auf. -
Wählen Sie Ihre Lieblingsfrucht und reichen Sie Ihre Wahl ein. Die App akzeptiert Ihre Auswahl und zeigt eine laufende Summe von Picks an.
Sie können überprüfen, ob Ihre Fruchtauswahl in Cloudant registriert wurde, indem Sie Ihr IBM Cloudant-Datenbankdashboard aufrufen.
Schauen wir uns an, wie dieses Programm funktioniert.
Diese Anwendung ist eine einfache Node.js-Anwendung, die zwei Hauptpakete verwendet.
@ibm-cloud/cloudantzum Herstellen einer Verbindung zu IBM Cloudant und zum Lesen und Schreiben von Daten.- Express zum Erstellen eines Web-Servers, mit dem Benutzer ihre Auswahl an Früchten übergeben und eine laufende Summe unserer Daten anzeigen können.
Diese Anwendung besteht aus zwei Hauptdateien.
- server.js
- Die Datei
server.jswird zum Ausführen des Web-Servers verwendet und kommuniziert mit Cloudant. Nachdem ein Benutzer eine Fruchtauswahl ausgewählt hat, übergibt die Front-End-Seite den Wert an die/fruit-Route (siehe unten). Die Funktionapp.routespeichert ein neues Dokument in Cloudant mit der Fruchtauswahl und liest dann die laufende Summe zurück, um zur Front-End-Seite zurückzukehren. - Die Leseoperation verwendet ein Cloudant-Designdokument und eine
MapReduce-Ansicht, um Dokumente zusammenzufassen. Weitere Informationen zu Ansichten und Entwurfsdokumenten enthält Ansichten erzeugen(MapReduce). - index.html
- Die Datei
index.htmlist die Webseite der Anwendung, die dasVue.js-Framework verwendet. Beim Laden dieser Seite werden die verfügbaren Fruchtoptionen angezeigt. - Nachdem Sie Ihre Auswahl übergeben haben, stellt das Framework eine HTTP-POST-Anforderung mit Ihrer Fruchtauswahl an die
/fruit-Route der Anwendung. Die Anwendungsrückgabe enthält die laufende Summe der Fruchtoptionen, die dann angezeigt wird.
Anwendung in Code Engine bereitstellen
Nachdem Sie nun verstanden haben, wie diese Anwendung funktioniert, können Sie sie in Code Enginebereitstellen. Sie können die Schritte zum Bereitstellen einer -Anwendung aus einem öffentlichen Repository ausführen und CODEENGINEREPO als Image-Repository angeben. Stellen Sie sicher, dass Sie die Umgebungsvariablen einschließen, die Sie in Schritt 2 zusammengestellt und lokal festgelegt haben.
Da Sie das Repository geklont haben, als Sie Ihre Anwendung lokal getestet haben, können Sie den Befehl app create verwenden, um ein Image aus Ihrer lokalen Quelle zu erstellen
und Ihre Anwendung bereitzustellen, die auf dieses erstellte Image verweist.
-
Führen Sie den Befehl app create aus. Sie müssen einen Namen für Ihre Anwendung und die Position des Quellcodes angeben. Im folgenden Beispiel wird eine Anwendung namens
myfruitcountererstellt, die die Strategiedockerverwendet und die Position für den Quellcode im aktuellen Verzeichnis (.) angibt. Außerdem müssen Sie die Umgebungsvariablen für die Verbindung zu Cloudantfestlegen.ibmcloud ce app create --name myfruitcounter --build-source . --strategy dockerfile --env CLOUDANT_URL=<your_url> --env CLOUDANT_APIKEY=<your_key> --env DBNAME=fruitcounterBeispielausgabe
Creating application 'myfruitcounter'... Packaging files to upload from source path '.'... Submitting build run 'myfruitcounter-run-220727-142949868'... Creating image 'private.us.icr.io/ce--6ef04-n2lgvg2l59v/app-myfruitcounter:220727-1929-y8ej0'... Waiting for build run to complete... Build run status: 'Running' Build run completed successfully. Run 'ibmcloud ce buildrun get -n myfruitcounter-run-220727-142949868' to check the build run status. Waiting for application 'myfruitcounter' to become ready. Configuration 'myfruitcounter' is waiting for a Revision to become ready. Ingress has not yet been reconciled. Waiting for load balancer to be ready. Run 'ibmcloud ce application get -n myfruitcounter' to check the application status. OK https://myfruitcounter.n2lfrg2876v.us-south.codeengine.appdomain.cloud -
Testen Sie die App, indem Sie die bereitgestellte URL für die Frucht-Picker-App öffnen. Wählen Sie Ihre Lieblingsfrucht und reichen Sie sie ein. Die laufende Summe der Fruchtoptionen wird angezeigt. Sie können die Anwendung aktualisieren und eine andere Frucht auswählen. Die Addition wird in der laufenden Summe angezeigt.