Freigeben über


Bereitstellen einer statischen Web-App mithilfe der CLI von Azure Static Web Apps

Wichtig

Um die Sicherheit von Bereitstellungen aus der Static Web Apps CLI zu verbessern, wurde ein Breaking Change eingeführt, der es erforderlich macht, bis zum 15. Januar 2025 ein Upgrade auf die neueste Version (2.0.2) der Static Web Apps CLI durchzuführen.

Die Azure Static Web Apps CLI (SWA CLI) bietet den Befehl deploy zum Bereitstellen des aktuellen Projekts in Azure Static Web Apps.

Allgemeine Bereitstellungsszenarien:

  • Front-End-App ohne API
  • Front-End-App mit API
  • Blazor-Apps

Bereitstellungstoken

Die SWA CLI unterstützt die Bereitstellung mithilfe eines Bereitstellungstokens, um die Einrichtung in CI/CD-Umgebungen zu ermöglichen.

So rufen Sie ein Bereitstellungstoken ab

  • Azure-Portal: Start → Static Web Apps → Ihre Instanz → Übersicht → Bereitstellungstoken verwalten

  • Azure-Befehlszeilenschnittstelle: mit dem Befehl secrets list:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Azure Static Web Apps CLI: mit dem Befehl deploy:

    swa deploy --print-token
    

Sie können den Tokenwert dann mit --deployment-token <TOKEN> verwenden oder eine Umgebungsvariable namens SWA_CLI_DEPLOYMENT_TOKEN erstellen und auf das Bereitstellungstoken festlegen.

Wichtig

Speichern Sie keine Bereitstellungstoken in einem öffentlichen Repository.

Bereitstellen einer Front-End-App ohne API

Sie können eine Front-End-Anwendung ohne API in Azure Static Web Apps bereitstellen. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

Auswählen der für Ihre Anforderungen am besten geeigneten Option zum Konfigurieren Ihrer Bereitstellung

  • Option 1: Führen Sie im Buildordner, den Sie bereitstellen möchten, den Bereitstellungsbefehl aus:

    cd build/
    swa deploy
    

    Hinweis

    Der Ordner build muss den statischen Inhalt Ihrer App enthalten, die bereitgestellt werden soll.

  • Option 2: Sie können auch einen bestimmten Ordner bereitstellen:

    1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

    2. Stellen Sie Ihre App bereit:

    swa deploy ./my-dist
    

Bereitstellen einer Front-End-App mit API

Führen Sie die folgenden Schritte aus, um eine Anwendung mit API-Endpunkten bereitzustellen.

  1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

  2. Stellen Sie sicher, dass die Runtimeversion der API-Sprache in der Datei staticwebapp.config.json ordnungsgemäß festgelegt wurde, z. B.:

    {
      "platform": {
        "apiRuntime": "node:16"
      }
    }
    

    Hinweis

    Wenn Ihr Projekt keine Datei staticwebapp.config.json enthält, fügen Sie eine in Ihrem Ordner outputLocation hinzu.

  3. Stellen Sie Ihre App bereit:

    swa deploy ./my-dist --api-location ./api
    

Bereitstellen einer Blazor-App

Eine Blazor-App können Sie mithilfe der folgenden Schritte bereitstellen.

  1. Erstellen Sie Ihre Blazor-App im Releasemodus:

    dotnet publish -c Release -o bin/publish
    
  2. Führen Sie im Stamm Ihres Projekts den Bereitstellungsbefehl aus:

    swa deploy ./bin/publish/wwwroot --api-location ./Api
    

Bereitstellen mit einer Konfigurationsdatei

Hinweis

Der Pfad für outputLocation muss relativ zu appLocation sein.

Wenn Sie eine Konfigurationsdatei swa-cli.config.json in Ihrem Projekt mit einem einzigen Konfigurationseintrag verwenden, können Sie Ihre Anwendung bereitstellen, indem Sie die folgenden Schritte ausführen.

Als Referenz finden Sie im folgenden Codeschnipsel ein Beispiel für einen einzelnen Konfigurationseintrag.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Wenn Ihre Front-End-Anwendung einen Buildschritt erfordert, führen Sie swa build aus, oder verweisen Sie auf die Anwendungsbuildanweisungen.

  2. Stellen Sie Ihre App bereit.

swa deploy

Wenn Sie über mehrere Konfigurationseinträge verfügen, können Sie mithilfe der Eintrags-ID angeben, welcher verwendet werden soll:

swa deploy my-otherapp

Optionen

Die folgenden Optionen können Sie mit swa deploy verwendet werden:

  • -a, --app-location <path>: der Ordner mit dem Quellcode der Front-End-Anwendung (Standard: „.“)
  • -i, --api-location <path>: der Ordner mit dem Quellcode der API-Anwendung
  • -O, --output-location <path>: der Ordner mit dem generierten Quellcode der Front-End-Anwendung Der Pfad ist relativ zu --app-location (Standard: „.“)
  • -w, --swa-config-location <swaConfigLocation>: das Verzeichnis mit der Datei „staticwebapp.config.json“
  • -d, --deployment-token <secret>: das geheime Token für die Authentifizierung bei Static Web Apps
  • -dr, --dry-run: simuliert einen Bereitstellungsprozess, ohne ihn tatsächlich auszuführen (Standard: false)
  • -pt, --print-token: gibt das Bereitstellungstoken aus (Standard: false)
  • --env [environment]: der Typ der Bereitstellungsumgebung für das Projekt (Standard: „preview“)
  • -S, --subscription-id <subscriptionId>: Azure-Abonnement-ID dieses Projekts (Standard: process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: von diesem Projekt verwendete Azure-Ressourcengruppe
  • -T, --tenant-id <tenantId>: Azure-Mandanten-ID (Standard: process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: Azure-Client-ID
  • -CS, --client-secret <clientSecret>: geheimer Azure-Clientschlüssel
  • -n, --app-name <appName>: Name der Azure Static Web App-Anwendung
  • -cc, --clear-credentials: löscht gespeicherte Anmeldeinformationen vor der Anmeldung (Standard: false)
  • -u, --use-keychain: aktiviert die Verwendung der native Keychain des Betriebssystems für persistente Anmeldeinformationen (Standard: true)
  • -nu, --no-use-keychain: deaktiviert die Verwendung der nativen Keychain des Betriebssystems
  • -h, --help: zeigt Hilfe zu einem Befehl an

Verbrauch

Führen Sie die Bereitstellung mithilfe eines Bereitstellungstokens aus:

swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>

Führen Sie die Bereitstellung mithilfe eines Bereitstellungstokens aus den Umgebungsvariablen aus.

SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/

Bereitstellen über mit einer Datei swa-cli.config.json

swa deploy
swa deploy myconfig

Geben Sie das Bereitstellungstoken aus.

swa deploy --print-token

Führen Sie die Bereitstellung in einer bestimmten Umgebung aus.

swa deploy --env production

Nächste Schritte