Partager via


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

Important

Pour améliorer la sécurité des déploiements depuis l’interface CLI de Static Web Apps, un changement cassant a été introduit, qui vous oblige à effectuer une mise à niveau vers la dernière version (2.0.2) de l’interface CLI de Static Web Apps d’ici au 15 janvier 2025.

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

Les scénarios de déploiement courants incluent :

  • Une application front-end sans API
  • Une application front-end avec une API
  • Des applications Blazor

Jeton de déploiement

L’interface CLI de Static Web Apps prend en charge le déploiement avec un jeton de déploiement pour activer les configurations dans des environnements CI/CD.

Vous pouvez obtenir un jeton de déploiement auprès de :

  • Portail AzureAccueil → Application web statique → Votre instance → Vue d’ensemble → Gérer le jeton de déploiement

  • Azure CLI – en utilisant la commande secrets list :

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

    swa deploy --print-token
    

Vous pouvez ensuite utiliser la valeur du jeton avec le --deployment-token <TOKEN>, ou 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 le jeton de déploiement dans un référentiel public.

Déployer une application front-end sans API

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

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

  • Option 1 : depuis le dossier de build que vous voulez déployer, exécutez la commande deploy :

    cd build/
    swa deploy
    

    Remarque

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

  • Option 2 : vous pouvez aussi déployer un dossier spécifique :

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

    2. Déployez votre application :

    swa deploy ./my-dist
    

Déployer une application front-end avec une API

Effectuez les étapes suivantes pour déployer une application qui a des points de terminaison d’API.

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

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

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

    Remarque

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

  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 Version :

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

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

Déployer en utilisant un fichier de configuration

Remarque

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

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

À titre de référence, un exemple d’entrée de configuration unique se présente comme l’extrait de code suivant.

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

  2. Déployez votre application.

swa deploy

Si vous avez plusieurs entrées de configuration, vous pouvez fournir l’ID de l’entrée pour spécifier celle qui doit être utilisée :

swa deploy my-otherapp

Options

Voici les options que vous pouvez utiliser avec swa deploy :

  • -a, --app-location <path> : le dossier contenant le code source de l’application front-end (par défaut : « . »)
  • -i, --api-location <path> : le dossier contenant le code source de l’application d’API
  • -O, --output-location <path> : le dossier contenant la source générée de l’application front-end. Le chemin d’accès est relatif à --app-location (par défaut : « . »).
  • -w, --swa-config-location <swaConfigLocation> : le répertoire où se trouve le fichier staticwebapp.config.json
  • -d, --deployment-token <secret> : le 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 : afficher le jeton de déploiement (par défaut : false)
  • --env [environment] : le 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 Apps
  • -cc, --clear-credentials : effacer les informations d’identification persistantes avant la connexion (par défaut : false)
  • -u, --use-keychain : Utiliser le trousseau natif du système d’exploitation pour les informations d’identification persistantes (par défaut : true)
  • -nu, --no-use-keychain : désactiver l’utilisation du trousseau natif du système d’exploitation
  • -h, --help : afficher l’aide pour une commande

Utilisation

Déployer en utilisant un jeton de déploiement.

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

Déployer en utilisant un jeton de déploiement provenant des variables d’environnement.

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

Déployer en utilisant un fichier swa-cli.config.json

swa deploy
swa deploy myconfig

Afficher le jeton de déploiement.

swa deploy --print-token

Déployer sur un environnement spécifique.

swa deploy --env production

Étapes suivantes