Sdílet prostřednictvím


Nasazení statické webové aplikace pomocí Azure Static Web Apps CLI

Důležité

Kvůli zlepšení zabezpečení nasazení z rozhraní příkazového řádku Static Web Apps jsme zavedli zásadní změnu, která vyžaduje upgrade na nejnovější verzi rozhraní příkazového řádku Static Web Apps (2.0.2) od 15. ledna 2025.

Rozhraní příkazového řádku Azure Static Web Apps (SWA CLI) obsahuje deploy příkaz k nasazení aktuálního projektu do Azure Static Web Apps.

Mezi běžné scénáře nasazení patří:

  • Front-endová aplikace bez rozhraní API
  • Front-endová aplikace s rozhraním API
  • Aplikace Blazor

Token nasazení

Rozhraní příkazového řádku SWA podporuje nasazení pomocí tokenu nasazení pro povolení nastavení v prostředíCH CI/CD.

Token nasazení můžete získat z:

  • Azure Portal: Domovská stránka → Static Web App → Přehled vaší instance → → Správa tokenu nasazení

  • Azure CLI: Použití příkazu secrets list :

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Azure Static Web Apps CLI: Použití deploy příkazu:

    swa deploy --print-token
    

Pak můžete použít hodnotu tokenu s --deployment-token <TOKEN> proměnnou prostředí nebo můžete vytvořit volanou SWA_CLI_DEPLOYMENT_TOKEN proměnnou prostředí a nastavit ji na token nasazení.

Důležité

Neukládejte tokeny nasazení do veřejného úložiště.

Nasazení front-endové aplikace bez rozhraní API

Front-endovou aplikaci můžete nasadit bez rozhraní API do Azure Static Web Apps. Pokud front-endová aplikace vyžaduje krok sestavení, spusťte swa build nebo postupujte podle pokynů k sestavení aplikace.

Vyberte možnost, která nejlépe vyhovuje vašim potřebám při konfiguraci nasazení.

  • Možnost 1: Ze složky sestavení, kterou chcete nasadit, spusťte příkaz deploy:

    cd build/
    swa deploy
    

    Poznámka:

    Složka sestavení musí obsahovat statický obsah vaší aplikace, který se má nasadit.

  • Možnost 2: Můžete také nasadit konkrétní složku:

    1. Pokud front-endová aplikace vyžaduje krok sestavení, spusťte swa build nebo postupujte podle pokynů k sestavení aplikace.

    2. Nasazení aplikace:

    swa deploy ./my-dist
    

Nasazení front-endové aplikace pomocí rozhraní API

Pomocí následujícího postupu nasaďte aplikaci, která obsahuje koncové body rozhraní API.

  1. Pokud front-endová aplikace vyžaduje krok sestavení, spusťte swa build nebo postupujte podle pokynů k sestavení aplikace.

  2. Ujistěte se, že je správně nastavená verze modulu runtime jazyka API v souboru staticwebapp.config.json , například:

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

    Poznámka:

    Pokud váš projekt nemá soubor staticwebapp.config.json , přidejte ho do složky outputLocation .

  3. Nasazení aplikace:

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

Nasazení aplikace Blazor

Aplikaci Blazor můžete nasadit pomocí následujícího postupu.

  1. Sestavení aplikace Blazor v režimu vydání :

    dotnet publish -c Release -o bin/publish
    
  2. V kořenovém adresáři projektu spusťte příkaz deploy:

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

Nasazení pomocí konfiguračního souboru

Poznámka:

Cesta musí outputLocation být relativní vzhledem k hodnotě appLocation.

Pokud v projektu používáte swa-cli.config.json konfigurační soubor s jednou položkou konfigurace, můžete aplikaci nasadit spuštěním následujícího postupu.

Příklad jedné položky konfigurace pro referenci vypadá jako následující fragment kódu.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Pokud front-endová aplikace vyžaduje krok sestavení, spusťte swa build nebo postupujte podle pokynů k sestavení aplikace.

  2. Nasaďte aplikaci.

swa deploy

Pokud máte více položek konfigurace, můžete zadat ID položky, které chcete použít:

swa deploy my-otherapp

Možnosti

Následující možnosti můžete použít s swa deploy:

  • -a, --app-location <path>: složka obsahující zdrojový kód front-endové aplikace (výchozí: ".")
  • -i, --api-location <path>: složka obsahující zdrojový kód aplikace API
  • -O, --output-location <path>: složka obsahující sestavený zdroj front-endové aplikace. Cesta je relativní k --app-location (výchozí: ".")
  • -w, --swa-config-location <swaConfigLocation>: adresář, kde se nachází soubor staticwebapp.config.json
  • -d, --deployment-token <secret>: token tajného kódu použitý k ověření pomocí Static Web Apps
  • -dr, --dry-run: Simulace procesu nasazení bez skutečného spuštění (výchozí: false)
  • -pt, --print-token: tisk tokenu nasazení (výchozí: false)
  • --env [environment]: typ prostředí nasazení, ve kterém se má projekt nasadit (výchozí hodnota: "preview")
  • -S, --subscription-id <subscriptionId>: ID předplatného Azure používané tímto projektem (výchozí: process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: Skupina prostředků Azure používaná tímto projektem
  • -T, --tenant-id <tenantId>: ID tenanta Azure (výchozí: process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: ID klienta Azure
  • -CS, --client-secret <clientSecret>: Tajný klíč klienta Azure
  • -n, --app-name <appName>: Název aplikace Azure Static Web App
  • -cc, --clear-credentials: Vymazání trvalých přihlašovacích údajů před přihlášením (výchozí: false)
  • -u, --use-keychain: Povolení použití nativní klíčenky operačního systému pro trvalé přihlašovací údaje (výchozí: true)
  • -nu, --no-use-keychain: Zakázání použití nativní klíčenky operačního systému
  • -h, --help: zobrazení nápovědy pro příkaz

Využití

Nasazení pomocí tokenu nasazení

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

Nasaďte pomocí tokenu nasazení z proměnných prostředí.

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

Nasazení pomocí swa-cli.config.json souboru

swa deploy
swa deploy myconfig

Vytiskněte token nasazení.

swa deploy --print-token

Nasazení do konkrétního prostředí

swa deploy --env production

Další kroky