Share via


Distribuire un'app Web statica con l'interfaccia della riga di comando di App Web statiche di Azure

L'interfaccia della riga di comando di App Web statiche di Azure (interfaccia della riga di comando di SWA) include il deploy comando per distribuire il progetto corrente in App Web statiche di Azure.

Gli scenari di distribuzione comuni includono:

  • Un'app front-end senza un'API
  • Un'app front-end con un'API
  • App Blazor

Token di distribuzione

L'interfaccia della riga di comando di SWA supporta la distribuzione usando un token di distribuzione per abilitare le configurazioni negli ambienti CI/CD.

È possibile ottenere un token di distribuzione da:

  • portale di Azure: Home →'app Web statica → Panoramica dell'istanza → → Gestire il token di distribuzione

  • Interfaccia della riga di comando di Azure: uso del secrets list comando :

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • App Web statiche di Azure'interfaccia della riga di comando: uso del deploy comando :

    swa deploy --print-token
    

È quindi possibile usare il valore del token con --deployment-token <TOKEN> oppure è possibile creare una variabile di ambiente denominata SWA_CLI_DEPLOYMENT_TOKEN e impostarla sul token di distribuzione.

Importante

Non archiviare i token di distribuzione in un repository pubblico.

Distribuire un'app front-end senza un'API

È possibile distribuire un'applicazione front-end senza un'API in App Web statiche di Azure. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

Selezionare l'opzione più adatta alle proprie esigenze per configurare la distribuzione

  • Opzione 1: dalla cartella di compilazione che si vuole distribuire, eseguire il comando deploy:

    cd build/
    swa deploy
    

    Nota

    La cartella di compilazione deve contenere il contenuto statico dell'app da distribuire.

  • Opzione 2: è anche possibile distribuire una cartella specifica:

    1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

    2. Distribuire l'app:

    swa deploy ./my-dist
    

Distribuire un'app front-end con un'API

Usare la procedura seguente per distribuire un'applicazione con endpoint API.

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

  2. Assicurarsi che la versione del runtime del linguaggio API nel file staticwebapp.config.json sia impostata correttamente, ad esempio:

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

    Nota

    Se il progetto non ha il file staticwebapp.config.json , aggiungerne uno nella outputLocation cartella.

  3. Distribuire l'app:

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

Distribuire un'app Blazor

È possibile distribuire un'app Blazor seguendo questa procedura.

  1. Compilare l'app Blazor in modalità di rilascio :

    dotnet publish -c Release -o bin/publish
    
  2. Dalla radice del progetto eseguire il comando deploy:

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

Distribuire usando un file di configurazione

Nota

Il percorso di outputLocation deve essere relativo all'oggetto appLocation.

Se si usa un swa-cli.config.json file di configurazione nel progetto con una singola voce di configurazione, è possibile distribuire l'applicazione eseguendo la procedura seguente.

Per riferimento, un esempio di una singola voce di configurazione è simile al frammento di codice seguente.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

  2. Distribuire l'app.

swa deploy

Se sono presenti più voci di configurazione, è possibile specificare l'ID voce per specificarne uno da usare:

swa deploy my-otherapp

Opzioni

Di seguito sono riportate le opzioni che è possibile usare con swa deploy:

  • -a, --app-location <path>: cartella contenente il codice sorgente dell'applicazione front-end (impostazione predefinita: ".")
  • -i, --api-location <path>: cartella contenente il codice sorgente dell'applicazione API
  • -O, --output-location <path>: cartella contenente l'origine compilata dell'applicazione front-end. Il percorso è relativo a --app-location (impostazione predefinita: ".")
  • -w, --swa-config-location <swaConfigLocation>: directory in cui si trova il file staticwebapp.config.json
  • -d, --deployment-token <secret>: token segreto usato per l'autenticazione con il App Web statiche
  • -dr, --dry-run: simulare un processo di distribuzione senza eseguirlo (impostazione predefinita: false)
  • -pt, --print-token: stampare il token di distribuzione (impostazione predefinita: false)
  • --env [environment]: tipo di ambiente di distribuzione in cui distribuire il progetto (impostazione predefinita: "preview")
  • -S, --subscription-id <subscriptionId>: ID sottoscrizione di Azure usato da questo progetto (impostazione predefinita: process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: gruppo di risorse di Azure usato da questo progetto
  • -T, --tenant-id <tenantId>: ID tenant di Azure (impostazione predefinita: process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: ID client di Azure
  • -CS, --client-secret <clientSecret>: segreto client di Azure
  • -n, --app-name <appName>: nome dell'applicazione app Web statica di Azure
  • -cc, --clear-credentials: cancellare le credenziali persistenti prima dell'accesso (impostazione predefinita: false)
  • -u, --use-keychain: abilitare l'uso del keychain nativo del sistema operativo per le credenziali persistenti (impostazione predefinita: true)
  • -nu, --no-use-keychain: disabilitare l'uso del keychain nativo del sistema operativo
  • -h, --help: visualizzare la Guida per il comando

Utilizzo

Eseguire la distribuzione usando un token di distribuzione.

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

Eseguire la distribuzione usando un token di distribuzione dalle variabili di ambiente.

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

Distribuire con swa-cli.config.json il file

swa deploy
swa deploy myconfig

Stampare il token di distribuzione.

swa deploy --print-token

Eseguire la distribuzione in un ambiente specifico.

swa deploy --env production

Passaggi successivi