Partager via


Déployer une application web statique avec Azure Static Web Apps CLI

Azure Static Web Apps CLI (SWA CLI) propose la deploy commande pour déployer le projet actuel sur Azure Static Web Apps.

Les scénarios de déploiement courants sont les suivants :

  • Une application frontale sans API
  • Une application frontale avec une API
  • Applications Blazor

Jeton de déploiement

L’interface CLI SWA prend en charge le déploiement à l’aide d’un jeton de déploiement pour activer les configurations dans les environnements CI/CD.

Vous pouvez obtenir un jeton de déploiement à partir de :

  • Portail Azure : Accueil → Static Web App → Votre instance → Vue d’ensemble → Gérer le jeton de déploiement

  • Azure CLI : Utilisation de la secrets list commande :

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Interface CLI Azure Static Web Apps : utilisation de la deploy commande :

    swa deploy --print-token
    

Vous pouvez ensuite utiliser la valeur du jeton avec ou --deployment-token <TOKEN> créer une variable d’environnement appelée SWA_CLI_DEPLOYMENT_TOKEN et la définir sur le jeton de déploiement.

Important

Ne stockez pas de jetons de déploiement dans un dépôt public.

Déployer une application frontale sans API

Vous pouvez déployer une application frontale sans API sur Azure Static Web Apps. Si votre application frontale nécessite une étape de génération, exécutez swa build ou reportez-vous aux instructions de génération de votre application.

Sélectionnez l’option qui convient le mieux à vos besoins pour configurer votre déploiement

  • Option 1 : À partir du dossier de build que vous souhaitez déployer, exécutez la commande deploy :

    cd build/
    swa deploy
    

    Remarque

    Le dossier de build doit contenir le contenu statique de votre application à déployer.

  • Option 2 : Vous pouvez également déployer un dossier spécifique :

    1. Si votre application frontale nécessite une étape de génération, exécutez swa build ou reportez-vous aux instructions de génération de votre application.

    2. Déployez votre application :

    swa deploy ./my-dist
    

Déployer une application frontale avec une API

Procédez comme suit pour déployer une application qui possède des points de terminaison d’API.

  1. Si votre application frontale nécessite une étape de génération, exécutez swa build ou reportez-vous aux instructions de génération de votre application.

  2. Vérifiez que la version du runtime du langage d’API dans le fichier staticwebapp.config.json est correctement définie, par exemple :

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

    Remarque

    Si votre projet n’a pas le fichier staticwebapp.config.json , ajoutez-en un sous votre outputLocation dossier.

  3. Déployez votre application :

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

Déployer une application Blazor

Vous pouvez déployer une application Blazor en procédant comme suit.

  1. Générez votre application Blazor en mode Mise en production :

    dotnet publish -c Release -o bin/publish
    
  2. À partir de la racine de votre projet, exécutez la commande deploy :

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

Déployer à l’aide d’un fichier de configuration

Remarque

Le chemin d’accès outputLocation doit être relatif au appLocation.

Si vous utilisez un swa-cli.config.json fichier de configuration dans votre projet avec une entrée de configuration unique, vous pouvez déployer votre application en exécutant les étapes suivantes.

Pour référence, un exemple d’entrée de configuration unique ressemble à l’extrait de code suivant.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Si votre application frontale nécessite une étape de génération, exécutez swa build ou reportez-vous aux instructions de génération de votre application.

  2. Déployez votre application.

swa deploy

Si vous avez plusieurs entrées de configuration, vous pouvez fournir l’ID d’entrée pour spécifier celui à utiliser :

swa deploy my-otherapp

Options

Voici les options que vous pouvez utiliser avec swa deploy:

  • -a, --app-location <path>: dossier contenant le code source de l’application frontale (par défaut : «. »)
  • -i, --api-location <path>: dossier contenant le code source de l’application API
  • -O, --output-location <path>: dossier contenant la source générée de l’application frontale. Le chemin d’accès est relatif à --app-location (par défaut : «. »)
  • -w, --swa-config-location <swaConfigLocation>: répertoire où se trouve le fichier staticwebapp.config.json
  • -d, --deployment-token <secret>: jeton secret utilisé pour s’authentifier auprès des applications web statiques
  • -dr, --dry-run: simuler un processus de déploiement sans l’exécuter (par défaut : false)
  • -pt, --print-token: imprimer le jeton de déploiement (par défaut : false)
  • --env [environment]: type d’environnement de déploiement où déployer le projet (par défaut : «preview »)
  • -S, --subscription-id <subscriptionId>: ID d’abonnement Azure utilisé par ce projet (par défaut : process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: groupe de ressources Azure utilisé par ce projet
  • -T, --tenant-id <tenantId>: ID de locataire Azure (par défaut : process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: ID client Azure
  • -CS, --client-secret <clientSecret>: Clé secrète client Azure
  • -n, --app-name <appName>: Nom de l’application Azure Static Web App
  • -cc, --clear-credentials: effacer les informations d’identification persistantes avant la connexion (par défaut : false)
  • -u, --use-keychain: activer à l’aide du trousseau natif du système d’exploitation pour les informations d’identification persistantes (par défaut : true)
  • -nu, --no-use-keychain: désactiver à l’aide du trousseau natif du système d’exploitation
  • -h, --help: afficher l’aide pour la commande

Utilisation

Déployer à l’aide d’un jeton de déploiement.

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

Déployez à l’aide d’un jeton de déploiement à partir des variables d’environnement.

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

Déployer à l’aide d’un swa-cli.config.json fichier

swa deploy
swa deploy myconfig

Imprimez le jeton de déploiement.

swa deploy --print-token

Déployer sur un environnement spécifique.

swa deploy --env production

Étapes suivantes