Schnellstart: Automatisieren von Bereitstellungen

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

Dieser Artikel gilt für:❌ Basic/Standard ✔️ Enterprise

In dieser Schnellstartanleitung wird erläutert, wie Sie Bereitstellungen im Azure Spring Apps Enterprise-Plan mithilfe von GitHub Actions und Terraform automatisieren.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
  • Verstehen und Erfüllen des Abschnitts Anforderungen des Enterprise-Plans in Azure Marketplace.
  • Die Azure CLI Version 2.45.0 oder höher.
  • Git.
  • jq
  • Die Erweiterung des Azure Spring Apps Enterprise-Plans. Verwenden Sie den folgenden Befehl, um frühere Versionen zu entfernen und die neueste Erweiterung des Enterprise-Plans zu installieren. Wenn Sie zuvor die spring-cloud-Erweiterung installiert hatten, deinstallieren Sie diese Erweiterung, um Konfigurations- und Versionskonflikte zu vermeiden.
    az extension add --upgrade --name spring
    az extension remove --name spring-cloud
    

Einrichten eines GitHub-Repositorys und Durchführen der Authentifizierung

Die Automatisierung, die der Beispielanwendung zugeordnet ist, erfordert ein Speicherkonto für die Verwaltung des Terraform-Zustands. Die folgenden Schritte zeigen Ihnen, wie Sie ein Speicherkonto erstellen, das Sie mit GitHub Actions und Terraform verwenden können.

  1. Verwenden Sie den folgenden Befehl, um eine neue Ressourcengruppe zu erstellen, die das Speicherkonto enthält:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Verwenden Sie den folgenden Befehl, um ein Speicherkonto zu erstellen:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Verwenden Sie den folgenden Befehl, um einen Speichercontainer innerhalb des Speicherkontos zu erstellen:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Verwenden Sie die folgenden Befehle, um Azure-Anmeldeinformation abzurufen. Zum Autorisieren der Azure-Anmeldeaktion sind Anmeldeinformationen für einen Azure-Dienstprinzipal erforderlich.

    az login
    az ad sp create-for-rbac \
        --role contributor \
        --scopes /subscriptions/<SUBSCRIPTION_ID> \
        --json-auth
    

    Der Befehl sollte ein JSON-Objekt ausgeben:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. Dieses Beispiel verwendet das Beispiel Fitness Store auf GitHub. Forken Sie das Beispiel, öffnen Sie die GitHub-Repositoryseite, und wählen Sie dann die Registerkarte Einstellungen aus. Öffnen Sie das Menü Geheimnisse, und wählen Sie dann Neues Geheimes hinzufügen aus, wie im folgenden Screenshot gezeigt.

    Screenshot showing GitHub Settings Add new secret.

  6. Legen Sie den Namen des Geheimnisses auf AZURE_CREDENTIALS und den Wert auf die JSON-Zeichenfolge fest, die Sie unter Einrichten des GitHub-Repositorys und Durchführen der Authentifizierung gefunden haben.

    Screenshot showing GitHub Settings Set secret data.

  7. Fügen Sie die folgenden Geheimnisse zu GitHub Actions hinzu:

  8. Fügen Sie die geheime TF_BACKEND_CONFIG zu GitHub Actions mit dem folgenden Wert hinzu:

    resource_group_name  = "<storage-resource-group>"
    storage_account_name = "<storage-account-name>"
    container_name       = "terraform-state-container"
    key                  = "dev.terraform.tfstate"
    

Automatisieren mit GitHub Actions

Jetzt können Sie GitHub Actions in Ihrem Repository ausführen. Der Bereitstellungsworkflow stellt alle Ressourcen bereit, die zum Ausführen der Beispielanwendung erforderlich sind. Im folgenden Screenshot wird eine Beispielausführung gezeigt:

Screenshot of GitHub showing output from the provision workflow.

Jede Anwendung verfügt über einen Bereitstellungsworkflow, der die Anwendung erneut bereitstellen wird, wenn Änderungen an dieser Anwendung vorgenommen werden. Der folgende Screenshot zeigt einige Beispielausgabe aus dem Katalogdienst:

Screenshot of GitHub showing output from the Deploy Catalog workflow.

Der Bereinigungsworkflow kann manuell ausgeführt werden, um alle Ressourcen zu löschen, die vom provision-Workflow erstellt wurden. Im folgenden Screenshot ist die Ausgabe dargestellt:

Screenshot of GitHub showing output from the cleanup workflow.

Bereinigen von Ressourcen

Falls Sie mit weiteren Schnellstartanleitungen und Tutorials fortfahren möchten, sollten Sie die Ressourcen nicht bereinigen. Wenn Sie die Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe. Dadurch werden die Ressourcen in der Ressourcengruppe gelöscht. Wenn Sie die Ressourcengruppe mithilfe der Azure CLI löschen möchten, verwenden Sie die folgenden Befehle:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Nächste Schritte

Fahren Sie mit einer der folgenden optionalen Schnellstartanleitungen fort: