Ihre App auf Cloud Foundry pushen
Zuletzt aktualisiert am
In diesem Dokument zeigen wir Ihnen, wie Sie Ihre Anwendung von Ihrem lokalen System zu STACKIT Cloud Foundry pushen und dort bereitstellen. Nach diesem Dokument können Sie Ihre gehostete Anwendung über eine STACKIT Cloud Foundry Wildcard-Domain aufrufen.
In diesem Tab erfahren Sie, wie Sie mit der Cloud Foundry CLI:
- sich anmelden und die richtige Org und den richtigen Space auswählen
- Ihre Anwendung vorbereiten
- die Ausgabe des Befehls cf push verstehen
Sich anmelden und die richtige Org und den richtigen Space auswählen
Abschnitt betitelt „Sich anmelden und die richtige Org und den richtigen Space auswählen“Melden Sie sich mit der Cloud Foundry CLI an der passenden Cloud Foundry API an und setzen Sie die Organisation und den Space, in den Sie Ihre App pushen möchten. Wie das geht, erfahren Sie in der Dokumentation Mit Cloud Foundry interagieren.
Ihre Anwendung vorbereiten
Abschnitt betitelt „Ihre Anwendung vorbereiten“Wenn Sie Ihre Anwendung als Quellcode (zum Beispiel statische Dateien) oder als Build-Artefakt (zum Beispiel JAR-Datei) nach Cloud Foundry pushen möchten, müssen Sie sich im Terminal im Verzeichnis Ihres Anwendungscodes befinden, zum Beispiel:
cd myProjects/appcloudExampleWenn Sie Ihre Anwendung bereits containerisiert pushen möchten, zum Beispiel als Docker-Image, muss das Image vorher gebaut sein. Den Push-Prozess können Sie dann von jedem Ort starten, sofern Sie die Referenz zu Ihrer (lokalen) Container Registry angeben.
Sobald Sie in der Cloud Foundry CLI angemeldet sind, Org und Space gesetzt haben und Ihr Quellcode/Build-Artefakt/Container verfügbar ist, reicht in der Regel ein einfacher cf push-Befehl wie dieser:
cf push myFirstApp -p build/myfirstapp.jar --random-route --var TEST_ENV=TRUEIn diesem Beispiel sehen Sie mehrere Argumente für das Deployment Ihrer Anwendung. Sie können den Push-Befehl mit verschiedenen Optionen erweitern:
cf push APP_NAME [-b BUILDPACK_NAME]Wenn Sie eine Anwendung mit einem Cloud Native Buildpack pushen möchten, müssen Sie zusätzlich den Lifecycle cnb setzen und auf das Buildpack verweisen. Hier ein Beispiel mit paketobuildpacks/nodejs:
cf push APP_NAME --lifecycle cnb --buildpack docker://docker.io/paketobuildpacks/nodejsWenn Sie ein vorhandenes Docker-Image pushen möchten:
cf push APP_NAME --docker-image [REGISTRY_HOST:PORT/]IMAGE[:TAG] [--docker-username USERNAME]In beiden Fällen müssen Sie den Parameter APP_NAME setzen. Er definiert den Namen Ihrer Anwendung, mit dem Sie die Anwendung innerhalb Ihres Spaces identifizieren. Dieser Name muss innerhalb eines Spaces eindeutig sein.
Beim Push eines Docker-Images müssen Sie das Image in der gewünschten Registry mit dem Argument --docker-image [REGISTRY_HOST:PORT/]IMAGE[:TAG] referenzieren.
Beim Push eines Build-Artefakts ist es zusätzlich empfehlenswert, das Argument -p PATH zu setzen, damit der genaü Pfad zum Artefakt angegeben ist.
Da Cloud Foundry die Route Ihrer Anwendung aus dem Anwendungsnamen und der Wildcard-Domain erzeugt, empfiehlt es sich außerdem, mit --random-route eine zufällige Route zu setzen. Dadurch wird ein zufälliger Suffix hinzugefügt. Ohne diesen Zusatz kann es zu Konflikten kommen, wenn die Kombination aus App-Name und Wildcard-Domain bereits vergeben ist.
Sie können Ihren Push-Befehl mit weiteren Optionen ergänzen. Details dazu finden Sie im Cloud Foundry CLI Reference Guide für den push-Befehl.
Alternativ können Sie auch eine Manifest-Datei verwenden, um die Anwendungskonfiguration als Code abzulegen. Mehr dazu finden Sie unter Wie man Manifest-Dateien nutzt.
Die Ausgabe des Befehls cf push verstehen
Abschnitt betitelt „Die Ausgabe des Befehls cf push verstehen“Nachdem Sie den Befehl cf push ausgeführt haben, erstellt die Cloud Foundry CLI Ihre Anwendung im Ziel-Space mit der über Argumente oder manifest.yml übergebenen Konfiguration.
Anschliessend wird das Artefakt hochgeladen und, falls es nicht bereits containerisiert ist, mit einem passenden Buildpack containerisiert (siehe Container und Buildpacks). Danach wird das resultierende Droplet für den Start in Ihrem Cloud Foundry Space vorbereitet.
Diesen gesamten Ablauf können Sie in der Ausgabe der laufenden CF CLI im Terminal verfolgen. Sobald der Push erfolgreich ist, erhalten Sie Informationen zu Ihrer gepushten Anwendung wie im folgenden Beispiel:
Name: spring-musicrequired state: startedRoutes: spring-music-responsible-jackal-jh.apps.01.cf.eu01.stackit.cloudLast Upload: Wed 12 Jan 14:45:33 CET 2022Stack: cflinuxfs3Buildpacks: Name Version detect output buildpack name java_buildpack v4.42-git@github.com:cloudfoundry/java-buildpack.git#91äfacf java java
Type: websidecars:Instances: 1/1Memory Usage: 1024MExecution: JAVA_OPTS="..." State since CPU RAM Memory Details#0 active 2022-01-12T13:46:05Z 0.0% 272.2M von 1G 201.5M von 512MHier sehen Sie alle wichtigen Details Ihrer Anwendung: vom Namen zur Identifikation über die zugewiesenen Routen bis zum Laufzeitstatus der Container.
Wenn Sie nun die in dieser Übersicht angezeigte Route in Ihren Browser kopieren, können Sie Ihre Anwendung aufrufen. Glückwunsch: Sie haben erfolgreich eine Anwendung auf Cloud Foundry gehostet.
In diesem Tab erfahren Sie, wie Sie mit der Stratos UI:
- zu Stratos navigieren und sich anmelden
- eine neue Anwendung erstellen
- eine Anwendungsquelle auswählen
- Instanz, Org und Space auswählen
- Namen und Source-Image festlegen
- Ihre Anwendung konfigurieren und deployen
Zu Stratos navigieren und sich anmelden
Abschnitt betitelt „Zu Stratos navigieren und sich anmelden“Melden Sie sich an der Cloud Foundry Console UI an und wählen Sie die Organisation und den Space, in den Sie Ihre App pushen möchten. Wie das geht, erfahren Sie in der Dokumentation Mit Cloud Foundry interagieren.
Eine neue Anwendung erstellen
Abschnitt betitelt „Eine neue Anwendung erstellen“Wenn Sie sich in der Anwendungsübersicht der Console UI befinden, können Sie eine neue Anwendung erstellen, indem Sie oben rechts auf die Schaltfläche + klicken, wie im folgenden Bild markiert.

Eine Anwendungsquelle auswählen
Abschnitt betitelt „Eine Anwendungsquelle auswählen“Dadurch gelangen Sie direkt zur Auswahl der Anwendungsquelle. Hier wählen Sie aus, von wo Sie Ihr Deployment-Artefakt (Code, Build oder Container) zu STACKIT Cloud Foundry pushen möchten.
In diesem Beispiel deployen wir ein Docker-Image und klicken daher auf das Panel Docker Image, wie im folgenden Bild dargestellt.

Die Option Docker Image ist mit der Docker Container Registry Docker Hub verbunden. Dadurch können Sie Images direkt aus dieser Registry verwenden. Sie können aber ebenso jede andere Container Registry nutzen.
Instanz, Org und Space auswählen
Abschnitt betitelt „Instanz, Org und Space auswählen“Im nächsten Schritt wählen Sie Organisation und Space, in den Ihre Anwendung deployt werden soll. Wenn Sie die Anwendungsübersicht bereits auf die Ziel-Org und den Ziel-Space gefiltert haben, sind diese hier schon vorausgewählt. Andernfalls wählen Sie zuerst Cloud Foundry als Zielinstanz (relevant, falls weitere Container Runtimes angebunden sind) und danach Org und Space über die entsprechend beschrifteten Dropdown-Felder, wie im folgenden Bild gezeigt.

Namen und Source-Image festlegen
Abschnitt betitelt „Namen und Source-Image festlegen“Nachdem Sie Ziel-Org und Ziel-Space ausgewählt haben, legen Sie den Namen Ihrer Anwendung fest. Der Name ist der Bezeichner Ihrer Anwendung. Zusätzlich wählen Sie das Docker-Image, das deployt werden soll.

Da in dieser ArtefaktQuelle Docker Hub direkt integriert ist, müssen Sie nur den referenzierten Namen des Container-Images angeben, das gepullt werden soll, wie im Bild gezeigt. In diesem hello-world-Beispiel verwenden wir das nginx Container-Image auf Docker Hub und deployen damit einen einfachen Webserver zum Test.
Sie können auch private Images aus der DockerHub Container Registry verwenden. In diesem Fall müssen Sie darunter Ihre Docker-Zugangsdaten mit den entsprechenden Zugriffsrechten angeben.
Ihre Anwendung konfigurieren und deployen
Abschnitt betitelt „Ihre Anwendung konfigurieren und deployen“Nach Festlegen von Name und Source-Image können Sie Ihre Anwendung konfigurieren, indem Sie in der Console UI Parameter setzen, die vorhandene Manifest-Einstellungen aus der Image-Quelle überschreiben können.

Wie im Bild gezeigt, können Sie unter anderem die Anzahl der Instanzen, Quota-Limits, Routing, Run-Commands und Build-Details konfigurieren.
Nachdem Sie die Konfiguration gesetzt haben, klicken Sie auf die Schaltfläche Deploy. Dadurch wird der Push Ihres Artefakts direkt gestartet und die Anwendung in Ihrem Space erstellt. Den Fortschritt können Sie in der Ausgabe verfolgen, welche die Console in der Mitte der Deployment-Übersicht anzeigt, wie im folgenden Bild zu sehen.

Nach erfolgreichem Deployment können Sie über die Schaltfläche Go to App Summary weitere Details zu Ihrer Anwendung aufrufen, wie im folgenden Bild dargestellt.

Neben den Anwendungsinformationen können Sie dort auch direkt über die Schaltfläche Visit die Route Ihrer Anwendung öffnen.
Über diesen Link können Sie Ihre Anwendung jetzt aufrufen. Glückwunsch: Sie haben erfolgreich eine Anwendung auf Cloud Foundry gehostet.