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 Azure – Accueil → 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 :
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.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.
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.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
.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.
Générez votre application Blazor en mode Version :
dotnet publish -c Release -o bin/publish
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"
}
}
}
}
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.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