Informations de référence sur l’interface CLI Azure Static Web Apps

Référence des commandes CLI Azure Static Web Apps.

Commands

Command Description Type Status
swa login Connectez-vous à Azure. SWA Core GA
swa init Configure un nouveau projet Azure Static Web Apps. SWA Core GA
swa build Génère l’application. Si vous avez une application Node.js, elle installe d’abord les dépendances. SWA Core GA
swa start Démarrez l’émulateur Azure Static Web Apps depuis un répertoire ou liez-vous à un serveur de développement en cours d’exécution. SWA Core GA
swa deploy Déployez le projet actuel sur Azure Static Web Apps. SWA Core GA
swa db Générez et modifiez la configuration de vos connexions de base de données Static Web Apps. SWA Core GA

Global Parameters

Parameter Summary
--version, -v Afficher le numéro de version.
--verbose, --V [level] Activer la sortie détaillée. Les valeurs de niveau incluent silly, ( infolog par défaut) et silent.
--config, -c [chemin] Chemin d’accès au fichier swa-cli.config.json.
--config-name, -cn Configuration utilisée par l’interface CLI.
--print-config, -g Afficher toutes les options résolues. La valeur par défaut est false.
--help, -h Afficher l’aide contextuelle.

swa login

Connectez-vous à Azure.

S’authentifier auprès d’Azure pour obtenir un jeton de déploiement pour Azure Static Web Apps en utilisant la commande swa deploy.

Syntax

swa login
          [--subscription-id]
          [--resource-group]
          [--tenant-id]
          [--client-id]
          [--client-secret]
          [--app-name]
          [--clear-credentials]
          [--use-keychain]
          [--no-use-keychain]

Examples

Exemple 1 : Connexion interactive à Azure

swa login

Parameters

--subscription-id, -S

ID d’abonnement Azure utilisé par ce projet. La valeur par défaut est process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Nom du groupe de ressources. Vous pouvez configurer le groupe par défaut à l’aide de az configure --defaults group=<name>.

--tenant-id, -T

ID de locataire Azure. La valeur par défaut est process.env.AZURE_TENANT_ID.

--client-id, -C

ID client Azure.

--client-secret, -CS

Clé secrète client Azure.

--app-name, -n

Nom de l’application Azure Static Web Apps.

--clear-credentials -cc

Effacer les informations d’identification persistantes avant la connexion. La valeur par défaut est false.

--use-keychain, -u

Utiliser le trousseau natif du système d’exploitation pour les informations d’identification persistantes. La valeur par défaut est true.

--no-use-keychain, -nu

Désactiver l’utilisation du trousseau natif du système d’exploitation.

Global Parameters

swa init

Configure un nouveau projet Azure Static Web Apps.

Configure un nouveau projet Azure Static Web Apps avec l’interface CLI Static Web Apps. Le mode interactif vous invite à entrer un nom de configuration, détecte les paramètres de votre projet et les infrastructures utilisées. Une fois terminé, une nouvelle application web statique est créée et un swa-cli.config.json fichier est généré dans le répertoire actif.

Vous pouvez exécuter swa init plusieurs fois afin de créer différentes configurations pour votre projet. Vous allez par exemple faire cela si vous travaillez sur un référentiel unique et que vous voulez configurer différents projets.

Le fichier de configuration généré est utilisé dans chaque commande que vous exécutez avec l’interface CLI Static Web Apps. Si vous avez plusieurs configurations nommées, vous pouvez utiliser l’argument positionnel ou l’option --config-name pour spécifier la configuration que vous voulez utiliser.

Voici un exemple de fichier de configuration généré par la commande init :

{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "myApp": {
      "appLocation": ".",
      "apiLocation": "api",
      "outputLocation": "dist",
      "appBuildCommand": "npm run build",
      "apiBuildCommand": "npm run build --if-present",
      "run": "npm run dev",
      "appDevserverUrl": "http://localhost:8080"
    }
  }
}

Syntax

swa init
          [--yes]

Examples

Exemple 1 : Créez une nouvelle configuration de manière interactive.

swa init

Exemple 2 : Créez une configuration à l’aide de valeurs par défaut pour toutes les options.

swa init --yes

Exemple 3 : Initialisez le projet à l’aide de la configuration nommée « myApp » à partir du fichier swa-cli.config.json.

swa init --config-name myApp

Parameters

--yes, -y

Répond « oui » à toutes les invites, ce qui désactive le mode interactif. La valeur par défaut est false.

Global Parameters

swa build

Génère l’application. Si vous avez une application Node.js, elle installe d’abord les dépendances.

Les cas d’usage courants sont les suivants : installation de dépendances pour l’application frontale et l’API et exécution des commandes de build pour les deux, uniquement la génération du projet front-end ou de l’API si l’autre n’a pas d’étape de génération.

Syntax

swa build
          [--app-location]
          [--api-location]
          [--output-location]
          [--app-build-command]
          [--api-build-command]
          [--auto]

Examples

Exemple 1 : Générez l’application et installez éventuellement des dépendances.

swa build

Exemple 2 : Détectez comment générer votre application et exécuter des commandes de build après l’installation des dépendances.

swa build --auto

Exemple 3 : Installer des dépendances pour l’application frontale.

swa build --app-location ./client

Exemple 4 : Utilisez la configuration nommée myApp dans swa-cli.config.json pour générer votre application frontale.

swa build myApp

Parameters

--app-location, -a

Le dossier contenant le code source de l’application front-end. La valeur par défaut est ..

--api-location, -i

Le dossier contenant le code source de l’application d’API.

--output-location, -O

Le dossier contenant la source générée de l’application front-end. Le chemin d’accès est relatif à --app-location. La valeur par défaut est ..

--app-build-command, -A

Génère l’application front-end.

--api-build-command, -I

Génère l’application d’API.

--auto

Détecte automatiquement comment générer vos applications front-end et d’API. La valeur par défaut est false.

Global Parameters

swa start

Démarrez l’émulateur Azure Static Web Apps depuis un répertoire ou liez-vous à un serveur de développement en cours d’exécution.

Délivrer depuis un dossier

Par défaut, l’interface CLI démarre et délivre le contenu statique depuis le répertoire de travail actuel ./ :

swa start

Si le dossier d’artefacts de votre application statique se trouve sous un autre dossier (par exemple ./my-dist), exécutez l’interface CLI et spécifiez ce dossier :

swa start ./my-dist

Délivrer depuis un serveur de développement

Quand vous développez votre application front-end localement, il est souvent utile d’utiliser le serveur de développement fourni avec l’interface CLI de votre framework front-end. L’utilisation de l’interface CLI du framework vous permet d’utiliser des fonctionnalités intégrées comme le « rechargement dynamique » (livereload) et le remplacement de module à chaud (HMR).

Pour utiliser l’interface CLI Static Web Apps avec votre serveur de développement local, effectuez ces deux étapes :

  1. Démarrez votre serveur de développement local comme d’habitude. Par exemple, si vous utilisez Angular : ng serve (ou npm start).

  2. Dans un terminal distinct, exécutez swa start avec l’URI fourni par le serveur de développement, au format suivant :

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Voici une liste des ports par défaut et des commandes utilisés par quelques serveurs de développement courants :

Tool Port Command
Angular 4200 swa start http://localhost:4200
Blazor WebAssembly 5000 swa start http://localhost:5000
Gatsby 8000 swa start http://localhost:8000
Hugo 1313 swa start http://localhost:1313
Next.js 3000 swa start http://localhost:3000
React (Créer une application React) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Au lieu de démarrer séparément un serveur de développement, vous pouvez fournir la commande de démarrage à l’interface CLI.

# npm start script (React)
swa start http://localhost:3000 --run "npm start"

# dotnet watch (Blazor)
swa start http://localhost:5000 --run "dotnet watch run"

# Jekyll
swa start http://localhost:4000 --run "jekyll serve"

# custom script
swa start http://localhost:4200 --run "./startup.sh"

Accédez ensuite à l’application avec les services émulés depuis http://localhost:4280

Délivrer à la fois depuis l’application front-end et depuis l’API

Si votre projet inclut des fonctions API, l’interface CLI vérifie si azure Functions Core Tools est installé et disponible. Si ce n’est pas le cas, l’interface CLI télécharge et installe la version appropriée d’Azure Functions Core Tools.

Démarrer automatiquement le serveur d’API

Exécutez l’interface CLI et spécifiez le dossier qui contient le back-end d’API (un projet d’application Azure Functions valide) :

# static content plus an API
swa start ./my-dist --api-location ./api

# front-end dev server plus an API
swa start http://localhost:3000 --api-location ./api

Démarrer manuellement le serveur d’API

Quand vous développez votre back-end localement, il est parfois utile d’exécuter Azure Functions Core Tools séparément pour délivrer votre API. Ceci vous permet d’utiliser des fonctionnalités intégrées, comme le débogage et la prise en charge d’éditeurs puissants.

Pour utiliser l’interface CLI avec votre serveur de développement back-end d’API local, effectuez ces deux étapes :

  1. Démarrez votre API en utilisant Azure Functions Core Tools : func host start ou démarrez le débogage dans VS Code.

  2. Dans un terminal distinct, exécutez l’interface CLI Static Web Apps avec l’indicateur --api-location et l’URI du serveur d’API local, au format suivant :

swa start ./my-dist --api-location http://localhost:7071

Database connections

Pour démarrer votre application avec une connexion de base de données, utilisez le --data-api-location paramètre et pointez vers le dossier contenant le fichier staticwebapp.database.config.json .

swa start ./src --data-api-location swa-db-connections

Syntax

swa start

Examples

Exemple 1 : Démarrez l’application par défaut.

swa start

Exemple 2 : Démarrez l’application avec un serveur de développement frontal.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Exemple 3 : Démarrez l’application avec un serveur de développement frontal et back-end.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071

Parameters

--app-location, -a <PATH>

Le dossier contenant le code source de l’application front-end. La valeur par défaut est ..

--api-location, -i <PATH>

Le dossier contenant le code source de l’application d’API.

--output-location, -O <PATH>

Le dossier contenant la source générée de l’application front-end. Le chemin d’accès est relatif à --app-location. La valeur par défaut est ..

--data-api-location

Dossier contenant le fichier staticwebapp.database.config.json .

--app-devserver-url, -D <URL>

Se connecter au serveur de développement d’application à cette URL au lieu d’utiliser l’emplacement de sortie.

--api-devserver-url, -is <URL>

Se connecter au serveur d’API à cette URL au lieu d’utiliser l’emplacement de sortie.

--api-port, -j <API_PORT>

Le port du serveur d’API passé à func start. La valeur par défaut est 7071.

--host, -q <HOST>

L’adresse de l’hôte utilisée pour le serveur de développement de l’interface CLI. La valeur par défaut est localhost.

--port, -p <PORT>

La valeur du port à utiliser pour le serveur de développement de l’interface CLI. 4280par défaut .

--ssl, -s

Délivrer l’application front-end et l’API via HTTPS. La valeur par défaut est false.

--ssl-cert, -e <SSL_CERT_LOCATION>

Le certificat SSL (.crt) utilisé lors de l’activation du protocole HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

La clé SSL (.key) utilisée lors de l’activation du protocole HTTPS.

--run, -r <STARTUP_SCRIPT>

Emplacement d’une commande ou d’un fichier de script shell personnalisé à exécuter au démarrage.

--devserver-timeout, -t <TIME>

Le temps d’attente (en secondes) lors de la connexion au serveur de développement d’une application front-end ou à un serveur d’API. La valeur par défaut est 60.

--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>

L’emplacement du répertoire du fichier staticwebapp.config.json.

--open, -o

Ouvrir le navigateur sur le serveur de développement. La valeur par défaut est false.

--func-args, -f <FUNCTION_ARGUMENTS>

Passer des arguments supplémentaires à la commande func start.

Global Parameters

swa deploy

Déployez le projet actuel sur Azure Static Web Apps.

Les cas d’utilisation courants sont les suivants :

  1. Déployer une application front-end sans API

  2. Déployer une application front-end avec une API

  3. Déployer une application Blazor

Deployment token

L’interface CLI Static Web Apps prend en charge le déploiement en utilisant un jeton de déploiement. Ceci est souvent utile lors du déploiement depuis un environnement CI/CD. Vous pouvez obtenir un jeton de déploiement depuis :

  • Portail Azure : Accueil → Application web statique → Vue d’ensemble de votre instance → Vue d’ensemble → Gérer le jeton de déploiement

  • Si vous utilisez Azure CLI, vous pouvez obtenir le jeton de déploiement de votre projet à l’aide de la commande suivante :

az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
  • Si vous utilisez l’interface CLI Azure Static Web Apps, vous pouvez utiliser la commande suivante :
swa deploy --print-token

Vous pouvez ensuite utiliser cette valeur 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. Cette valeur doit rester un secret.

Déployer une application front-end sans API

Vous pouvez déployer une application front-end sans API sur Azure Static Web Apps en exécutant les étapes suivantes :

  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.

Option 1 : Dans le dossier de build que vous souhaitez déployer, exécutez la commande deploy :

cd build/
swa deploy

Note

Le build dossier doit contenir le contenu statique de votre application que vous souhaitez déployer.

Option 2 : Vous pouvez également 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

Pour déployer à la fois l’application front-end et une API sur Azure Static Web Apps, procédez comme suit :

  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 dans le fichier staticwebapp.config.json est définie correctement, par exemple :

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

Note

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

  1. Déployez votre application :
swa deploy ./my-dist --api-location ./api

Déployer une application Blazor

Pour déployer une application Blazor avec une API facultative sur Azure Static Web Apps, procédez comme suit :

  1. Générez votre application Blazor en mode Mise en production :
dotnet publish -c Release -o bin/publish
  1. Depuis la racine de votre projet, exécutez la commande deploy :
swa deploy ./bin/publish/wwwroot --api-location ./Api

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

Note

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 et que vous avez une entrée de configuration unique, utilisez une configuration comme celle-ci :

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}

Vous pouvez ensuite déployer votre application en effectuant les étapes suivantes :

  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

Syntax

swa deploy
           [--yes]

Examples

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

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

Exemple 2 : Déployer à l’aide d’un jeton de déploiement à partir des variables d’environnement

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

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

swa deploy
swa deploy myconfig

Exemple 4 : Imprimer le jeton de déploiement

swa deploy --print-token

Exemple 5 : Déployer dans un environnement spécifique

swa deploy --env production

Global Parameters

swa db

Générez et modifiez la configuration de vos connexions de base de données Static Web Apps.

Permet swa db init de générer un exemple de dossier swa-db-connections , ainsi qu’un staticwebapp.database.config.json fichier de configuration. Si vous utilisez une base de données Cosmos DB pour NoSQL, cela génère également un exemple de staticwebapp.database.schema.gql fichier de schéma.

Syntax

swa db init --database-type <DATABASE_TYPE>

Examples

Exemple 1 : Générer un exemple de dossier de configuration de connexion de base de données pour une base de données Azure SQL.

swa db init --database-type mssql

Parameters

--database-type, -t <DATABASE_TYPE>

(Obligatoire) Le type de la base de données que vous voulez connecter (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Un nom de dossier pour remplacer le nom du dossier de configuration de la connexion de base de données de la convention (veillez à mettre à jour en conséquence les fichiers de votre workflow CI/CD). La valeur par défaut est swa-db-connections.

---connection-string, -cs <CONNECTION_STRING>

La chaîne de connexion de la base de données que vous voulez connecter.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Base de données de votre compte Cosmos DB que vous souhaitez connecter (nécessaire uniquement si vous utilisez cosmosdb_nosql le type de base de données).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Conteneur de votre compte Cosmos DB que vous souhaitez connecter.

--help, -h

Afficher l’aide pour une commande.

Global Parameters