Anwendungscode aus einer lokalen Quelle implementieren
Lassen Sie uns eine einfache hello world-App bereitstellen, um zu sehen, wie Code Engine funktioniert. Befolgen Sie die Schritte, um ein Projekt zu erstellen, Ihren Code vorzubereiten und Ihre App bereitzustellen.
Lesen Sie die Begriffe für Cloud Foundry und Code Engine, bevor Sie mit diesem Lernprogramm beginnen.
Ziele
- Machen Sie sich mit den Ähnlichkeiten zwischen Code Engine und Cloud Foundry vertraut.
- Hier erfahren Sie mehr über den allgemeinen Prozess der Bereitstellung von Apps in Code Engine.
- Stellen Sie eine Anwendung aus dem Code auf Ihrem lokalen System mit Code Engine bereit.
Voraussetzungen
Bevor Sie mit Code Engine beginnen können, müssen Sie Ihr Konto einrichten und die CLI installieren.
-
Alle Code Engine-Benutzer müssen über ein nutzungsabhängiges Konto verfügen.
-
Während Sie Code Engine über die Konsole verwenden können, konzentrieren sich die Beispiele in dieser Dokumentation auf die Befehlszeile. Daher müssen Sie die Code Engine-CLI installieren.
ibmcloud plugin install code-engineWeitere Informationen finden Sie unter Code Engine -CLI einrichten. Weitere Informationen zur CLI finden Sie unter Code Engine-CLI-Referenz.
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.
Melden Sie sich bei IBM Cloud an.
Führen Sie die folgenden Schritte aus, um sich bei Ihrem IBM Cloud-Konto anzumelden und eine Ressourcengruppe als Ziel auszuwählen.
-
Melden Sie sich bei der IBM Cloud-CLI an.
ibmcloud login -
Führen Sie den folgenden Befehl aus, um eine Ressourcengruppe als Ziel festzulegen. Führen Sie
ibmcloud resource groupsaus, um eine Liste Ihrer Ressourcengruppen abzurufen.ibmcloud target -g <resource_group>Beispielausgabe
Targeted resource group default
Projekt erstellen
Ein „Projekt" in Code Engine ähnelt einem Cloud Foundry-„Bereich" insofern, als zusammengehörige Workloads in einer logischen Sammlung gruppiert werden, die für Entwickler
aussagekräftig ist. Sie können Workloads nach beliebigen Kriterien in verschiedene Projekte gruppieren, z. B. nach der Organisationsstruktur des Unternehmens, nach Abhängigkeiten zwischen den Workloads oder nach Entwicklungs-, Test- und Produktionsumgebungen.
Sie können dann den Zugriff auf diese Projekte konfigurieren, ähnlich wie bei der Konfiguration des Zugriffs auf Ihre Cloud Foundryorgs. Beachten Sie, dass Workloads in einem
einzelnen Projekt ein privates Netz gemeinsam nutzen und innerhalb der Sicherheitsgrenze des Projekts isoliert sind. Alle Workloads innerhalb eines Projekts können frei miteinander kommunizieren, ohne dass sie von Workloads außerhalb des Clusters
gesehen werden müssen. Wenn Workloads in verschiedenen Projekten miteinander kommunizieren möchten, muss die Datenübertragung entweder das Internet oder ein internes privates IBM-Netz verwenden. Weitere Informationen finden Sie unter Optionen für Sichtbarkeit für eine Code Engine-Anwendung.
Erstellen Sie in Code Engine ein Projekt namens sample.
ibmcloud ce project create --name sample
Beispielausgabe
Creating project 'sample'...
ID for project 'sample' is 'abcdabcd-abcd-abcd-abcd-abcd12e3456f7'.
Waiting for project 'sample' to be active...
Now selecting project 'sample'.
OK
Beachten Sie, dass Ihr Projekt auch für den Kontext ausgewählt ist, sodass alle nachfolgenden anwendungsbezogenen Befehle im Geltungsbereich dieses neuen sample-Projekts liegen.
Verzeichnis und Quellcode erstellen
-
Erstellen Sie ein Verzeichnis namens
myappauf Ihrer lokalen Workstation und navigieren Sie in dieses Verzeichnis. Speichern Sie in diesem Verzeichnis alle Dateien, die zum Erstellen des Image und zum Ausführen Ihrer App erforderlich sind.mkdir myapp && cd myapp -
Erstellen Sie eine Datei mit dem Namen
server.jsund kopieren Sie den folgenden Quellcode in diese Datei.const http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end( "Hello world\n" ); }).listen(8080);In diesem Beispiel wird Node.js verwendet. Sie können Code aus einer beliebigen unterstützten Laufzeit ersetzen.
Anwendung implementieren
Übertragen Sie Ihren Code mit dem Befehl application create an Code Engine. Sie müssen einen Namen für Ihre Anwendung und die Position des Quellcodes angeben. Im folgenden Beispiel wird eine Anwendung mit der Bezeichnung
myapp erstellt, welche die Strategie buildpack verwendet und die Position für den Quellcode im aktuellen Verzeichnis (.) angibt.
ibmcloud ce app create --name myapp --build-source . --strategy buildpacks
Beispielausgabe
Creating application 'myapp'...
Packaging files to upload from source path '.'...
Submitting build run 'myapp-run-220999-210706331'...
Creating image 'private.us.icr.io/ce--6ef04-khxrbwa0lci/app-myapp:220418-0207-askql'...
Waiting for build run to complete...
Build run status: 'Running'
Build run completed successfully.
Run 'ibmcloud ce buildrun get -n myapp-run-220000-210706331' to check the build run status.
Waiting for application 'myapp' to become ready.
Configuration 'myapp' 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 myapp' to check the application status.
OK
https://myapp.abcdbwa0lci.us-south.codeengine.appdomain.cloud
Das ist alles. Sie haben jetzt eine mit dem Internet verbundene Anwendung. Der Code in der Anwendung selbst entspricht dem Code, der für eine Cloud Foundry-Anwendung verwendet wird. Nur die Code Engine-Befehle unterscheiden sich geringfügig.
Sehen wir uns den vorherigen Befehl app create genauer an. Beachten Sie, dass die Ausgabe des Befehls app create Informationen zum Fortschritt der Buildausführung enthält, bevor die
App erstellt und bereitgestellt wird.
- Code Engine empfängt eine Anfrage zur Erstellung einer Anwendung aus Quellcode (anstatt sie direkt aus einem Image zu extrahieren).
- Code Engine sucht nach einer IAM-Service-ID und einem API-Schlüssel, die dem ausgewählten Projekt zugeordnet sind. Diese Service-ID muss über Lese-und Schreibberechtigung für IBM Cloud Container Registryverfügen. Wenn keine Service-ID vorhanden ist, erstellt Code Engine eine ID für Sie. Beachten Sie, dass diese Service-ID für nachfolgende Code Engine-Build-Anforderungen verwendet wird, die von demselben Projekt ausgeführt werden.
- Dieses Beispiel erstellt Code aus einer lokalen Quelle (
--build-source .). Der Quellcode wird in eine Archivdatei gepackt und in einen verwalteten Namensbereich in der IBM Cloud Container Registry -Instanz in Ihrem Konto hochgeladen. Beachten Sie, dass Sie nur IBM Cloud Container Registry für Ihre lokalen Builds verwenden können. Weitere Informationen zu IBM Container Registry, einschließlich Informationen zu Kontingenten und Zugriffsbeschränkungen, finden Sie unter Erste Schritte mit IBM Cloud Container Registry. - Code Engine erstellt Ihren Quellcode in einem Image. Das Quellen-Image wird in demselben Namensbereich wie Ihre Quellenarchivdatei erstellt.
- Nachdem der Build abgeschlossen ist, wird Ihre Anwendung implementiert. Sie können über die bereitgestellte URL auf Ihre Anwendung zugreifen.
Mit Code Engine erhalten Sie automatisch viele der gleichen Funktionen wie Cloud Foundry, wie z. B. automatische Skalierung und Blue-Green-Rollout von Updates, aber Sie kommen auch in den Genuss neuerer Funktionen, wie z. B. die Skalierung bis auf Null, die sicherstellt, dass keine Kosten für Sie anfallen, wenn Ihre Anwendung nicht aktiv ist.
Möchten Sie mehr über Ihre Optionen zur Erstellung Ihres Quellcodes erfahren? Weitere Informationen finden Sie in den Beschreibungen der Befehle application create und job create.
Möchten Sie mehr über Anwendungen und Jobs erfahren? Siehe Mit Apps in Code Engine arbeiten und Mit Jobs und Jobausführungen arbeiten.
Bereinigen
Nach Beendigung dieses Lernprogramms können Sie die Ressourcen, die Sie erstellt haben, mit den folgenden Befehlen löschen.
Anwendung löschen
ibmcloud ce app delete --name myapp
Wenn Sie Ihre App löschen, werden auch die zugehörigen Build-Dateien gelöscht.
Löschen Sie zuletzt die Images, die der Build aus IBM Cloud Container Registry erstellt hat.
- Navigieren Sie in der IBM Cloud -Konsole zu Registry .
- Suchen Sie das Archiv und das Image, die Ihrer Anwendung zugeordnet sind, indem Sie nach Ihrem Anwendungsnamen suchen.
- Wählen Sie das Archiv und das Image aus und löschen Sie sie.
Nächste Schritte
- Haben Sie gerade erst mit der Migration begonnen? Lesen Sie den Abschnitt Erste Schritte.
- Vergleichen Sie Cloud Foundry-Terminologie mit Code Engine.
- Anwendungscode aus einer lokalen Quelle implementieren (aktuelle Seite)
- Verwendet Ihre Anwendung Servicebindungen? Dann informieren Sie sich über die Migration Ihrer Servicebindungen.
- Erfahren Sie mehr über Skalierung und Datenverkehrsmanagement.
- Suchen Sie Code Engine-Äquivalente zu Cloud Foundry-Befehlen.
- Sie haben noch Fragen? Lesen Sie Häufig gestellte Fragen zur Migration von Cloud Foundry-Anwendungen zu Code Engine.
Weitere Informationen
- Informieren Sie sich über die Code Engine-Preisstruktur.
- Probieren Sie weitere Code Engine -Lernprogrammeaus.
- Erkunden Sie weitere Themen zu Code Engine.