Skip to main content
Die zuvor entwickelte Java-Anwendung soll nun in der Azure Cloud bereitgestellt (deployt) werden. Anstatt wie bisher über das Azure-Portal zu arbeiten, erfolgt die gesamte Einrichtung über die Azure CLI. Dabei werden Ressourcen erstellt, konfiguriert und mit der Datenbank verbunden.
1

Registrierung des Resource Providers

Damit Azure weiss, welche Dienste im Abonnement verfügbar sein sollen, muss der benötigte Resource Provider (Microsoft.Web) registriert werden. Dies ist notwendig, um z. B. Web-Apps oder App Services erstellen zu können:
2

App Service Plan erstellen

Ein App Service Plan dient als Container für Web-Anwendungen und legt Skalierungsoptionen fest. Er wird mit folgendem Befehl erstellt:
az appservice plan create \
    --name <app-service-name> \
    --resource-group <resource-group-name> \
    --sku B1 --is-linux
3

Web App erstellen

Darauf basierend wird die Web App (Java-Anwendung) angelegt:
az webapp create \
    --resource-group <resource-group-name> \
    --plan <app-service-name> \
    --name <app-name> \
    --runtime "JAVA:17-java17"
Die Konsole zeigt eine URL (z. B. https://<app-name>.azurewebsites.net) – unter dieser wird die Anwendung später erreichbar sein.
4

Deployen der Java-Anewndung

Die Anwendung wird mittels .jar-Datei auf die Web App geladen:
az webapp deploy \
    --resource-group <resource-group-name> \
    --name <app-name> \
    --src-path <path-to-jar-file> \
    --type jar
Falls der erste Versuch fehlschlägt, liegt dies oft an falschen Datenbankverbindungen.
5

Fehleranalyse

Bei Problemen hilft das Live-Loggen der Anwendung:
az webapp log tail -g <resource-group-name> -n <app-name>
Ein typischer Fehler: Die Anwendung versucht, lokal auf eine Datenbank zuzugreifen (localhost:3306), obwohl sie in der Cloud läuft.
6

Konfiguration der Datenbankverbindung

Die Anwendung muss mit der Azure-Datenbank verbunden werden. Dazu werden die Verbindungsdaten als Umgebungsvariablen gesetzt:
az webapp config appsettings set \
    --resource-group <resource-group-name> \
    --name <app-name> \
    --settings \
    SPRING_DATASOURCE_URL=<connection_string> \
    SPRING_DATASOURCE_USERNAME=<username> \
    SPRING_DATASOURCE_PASSWORD=<password>
7

TLS deaktivieren

Standardmässig verlangt Azure MySQL eine verschlüsselte Verbindung. Für diesen Auftrag wird TLS deaktiviert:
az mysql flexible-server parameter set \
    --resource-group <resource-group-name> \
    --server-name <mysql-server-name> \
    --name require_secure_transport \
    --value OFF

In Produktivsystem niemals TLS deaktivieren
8

Anwendung erneut deployen

Nach erfolgreicher Konfiguration wird die .jar-Datei nochmals deployed. Wenn alles korrekt ist, ist die Anwendung über die angegebene URL erreichbar – zum Beispiel via Swagger-UI.