In diesem Artikel ist beschrieben, wie eine App in die Cloud Foundry Umgebung der SAP Business Technology Platform deployt werden kann. Voraussetzung dafür ist ein eingerichteter Subaccount mit Cloud Foundry. Details dazu finden Sie im Artikel zur Einrichtung des Global Accounts und Subaccounts.
Das Wichtigste zusammengefasst:

Benutzen Sie das Cloud-Foundry-Command-Line-Interface statt manuell im BTP-Cockpit zu deployen.

Beim Deployment werden alle notwendigen Apps und Services automatisch erstellt und miteinander verbunden.

Das Cloud Foundry Tool sowie ein Plugin dazu müssen einmalig heruntergeladen werden.
Die MTAR-Datei
Das Dateiformat, welches für das Deployment genutzt wird, ist „.mtar“. Die Dateiendung “.mtar” steht für “multitarget application archive”. Dies entspricht einer ZIP-Datei in welcher nicht nur der Quellcode, sondern auch Konfigurationsdateien gebündelt werden. Diese Datei wird von den Entwicklern oder Dienstleistern erstellt und bereitgestellt.
Falls die MTAR-Datei entzippt wird, liegen die wichtigsten Dateien auch im Klartext vor:
- xs-security.json: Enthält die vorgefertigten Role-Templates (Rollenvorlagen), die automatisch in der BTP angelegt werden.
- META-INF/mtad.yaml: Enthält alle Apps und deren notwendige Services. Mit Hilfe dieser Datei können beim Deployment automatisch alle abhängigen Services erstellt und mit den Apps verbunden werden.
Warum Sie nicht manuell deployen sollten
Im BTP-Cockpit gibt es in der Oberfläche eines Spaces den Button Deploy Application (siehe Screenshot unten). Dieser sollte nicht genutzt werden. Beim Deployment mit diesem Button müssen zusätzliche Konfigurationsschritte durchgeführt werden, die nicht nur aufwändig, sondern auch fehleranfällig sind.
Für Ihre ersten Deployments von Apps in der BTP empfehlen wir das Cloud-Foundry-Command-Line-Interface (kurz: Cloud-Foundry-CLI). Dieses führt unter anderem folgende Schritte automatisch durch:
- Upload der MTAR in die SAP BTP
- Erstellen und Start aller Apps
- Erstellen aller notwendigen Services, wie Authentifizierung, Connectivity oder Datenbank
- Verbinden der Services mit den Apps. Dies ist notwendig, damit die Apps die Services auch nutzen können
- Erstellen oder Updaten von Datenbank-Artefakten wie Tabellen oder initialen Daten
- Erstellen von Routen, bei denen es möglich ist, die Apps vom Browser aus zu erreichen
- Erstellen der Role Templates, aus denen es möglich ist, Rollen zu erstellen
Die meisten dieser Schritte müssten Sie manuell im BTP-Cockpit durchführen, falls Sie die Applikation mit dem „Deploy Application“-Button deployen. Ein weiterer Vorteil von dieser Form des Deployments ist, dass Sie es auch automatisiert in Skripten oder Pipelines verwenden können.
Die Cloud-Foundry-CLI ist zwar eine gute Option für Ihre ersten Deployments, für den regulären Betrieb empfehlen wir Ihnen jedoch die Verwendung des „Cloud Transport Management“-Services in Betracht zu ziehen. Er bietet eine grafische Benutzeroberfläche, die Möglichkeit, Deployments im Voraus zu planen, und umfassendes Logging.
Setup
Schritt 1: Installation des Cloud-Foundry-CLI
Zunächst müssen Sie das Cloud-Foundry-CLI herunterladen. Es kann unter diesem Link direkt von GitHub heruntergeladen werden.
Suchen Sie auf der Webseite nach dem Abschnitt „Installer and compressed binaries“. Sie haben dort die Wahl zwischen…
- Installer: einer Installationsdatei. Wie empfehlen diese Option, falls Sie häufiger Applikationen in der BTP deployen werden.
- Binaries: einer eigenständig ausführbaren Datei.
Nachdem Sie die Datei heruntergeladen und (im Falle des Installers) installiert haben, öffnen Sie ein Terminal und überprüfen Sie, ob das CLI ausgeführt werden kann indem Sie cf8 (oder cf) als Befehl eingeben. Falls der Befehl nicht gefunden wird, müssen Sie entweder den Pfad zur Datei zu den Umgebungsvariablen hinzufügen oder vorher direkt zur Datei navigieren.
Schritt 2: Installation des MTA-Plugins
Zum Hinzufügen des MTA-Plugins müssen Sie den folgenden Befehl ausführen:
- cf8 install-plugin multiapps
Falls das MTA-Plugin nicht gefunden werden kann, müssen Sie erst das „Cloud Foundry“-Community-Repository hinzufügen:
- cf8 add-plugin-repo CF-Community https://plugins.cloudfoundry.org
Sobald dieses Plugin erfolgreich hinzugefügt wurde, ist die Vorbereitung abgeschlossen.
Deployment einer MTAR
Schritt 1: Einloggen
Loggen Sie sich mit folgendem Befehl in die Cloud-Foundry-Umgebung in der SAP BTP ein:
- cf8 login
Beim Login müssen Sie Folgendes eingeben:
- Username und Passwort: identisch mit Ihrem Login zum BTP-Cockpit
- API-Endpunkt: Diesen können Sie auf der Seite „Overview“ im Subaccount, in den Sie sich einloggen wollen, finden (siehe Screenshot unten)
Der API-Endpunkt, den Sie bei Ihrem ersten Login verwenden wird als Default für zukünftige Logins gesetzt. Falls Sie wieder denselben Endpunkt ansteuern wollen, benutzen Sie einfach wieder cf login. Aber falls Sie einen anderen Endpunkt als den Default ansteuern möchten, können Sie diesen mit dem Argument -a spezifizieren, z.B.:
- cf8 login -a https://api.cf.jp10-001.hana.ondemand.com
Troubleshooting: Bei Zertifikatsproblemen verwenden Sie
- cf8 login –skip-ssl-validation
um falsche oder fehlende Zertifikate zu ignorieren.
Schritt 2: Deployment
Nach dem Authentifizieren müssen Sie den Space auswählen, in welchen deployt werden soll. Anschließend können Sie die MTAR-Datei deployen. Dazu muss diese auch lokal vorliegen und kann mit folgendem Befehl hochgeladen werden:
- cf8 deploy PFAD_ZUR_MTAR_DATEI
Ersetzen Sie PFAD_ZUR_MTAR_DATEI mit dem tatsächlichen Pfad.
Nun wird die Datei hochgeladen und alle oben erwähnten Schritte automatisch durchgeführt. Falls keine Fehlermeldungen kommen, ist das Deployment hiermit abgeschlossen.
Hinweis: Nach dem Deployment kommt eine kurze Meldung, dass die Logs zum Deployment heruntergeladen werden können. Insbesondere im P-System wird empfohlen diese Logs herunterzuladen und abzuspeichern, selbst wenn keine Fehler aufgetreten sind.
Ihre Anwendung wurde nun erfolgreich deployt und ist bereit für den Einsatz auf der BTP Business Technology Platform.