Partager via


swa

Commandes

Nom Description Type État
swa login

Connexion à Azure

SWA – Principal 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 – Principal GA
swa deploy

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

SWA – Principal GA
swa db

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

SWA – Principal GA

swa login

Connexion à 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.

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

Exemples

Connexion interactive à Azure

swa login

Paramètres facultatifs

--subscription-id, -S

ID d’abonnement Azure utilisé par ce projet. Par défaut, il s’agit de process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant az configure --defaults group=<name>.

--tenant-id, -T

ID de locataire Azure. Par défaut, il s’agit de 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. Par défaut, il s’agit de false.

--use-keychain, -u

Utiliser le trousseau natif du système d’exploitation pour les informations d’identification persistantes. Par défaut, il s’agit de true.

--no-use-keychain, -nu

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

Paramètres globaux
--version, -v

Afficher le numéro de version.

--verbose, --V [level]

Activer la sortie détaillée. Les valeurs de niveau sont silly, info, log (valeur par défaut) et silent.

--config, -c [path]

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 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, et il va détecter les paramètres de votre projet et les frameworks utilisés. Une fois que c’est terminé, une nouvelle application web statique est créée et un fichier swa-cli.config.json 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"
    }
  }
} ```
swa init
          [--yes]

Exemples

Créer une configuration de façon interactive.

swa init

Créer une configuration en utilisant des valeurs par défaut pour toutes les options.

swa init --yes

Initialiser le projet en utilisant la configuration nommée « myApp » du fichier swa-cli.config.json.

swa init --config-name myApp

Paramètres facultatifs

--yes, -y

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

Paramètres globaux
--version, -v

Afficher le numéro de version.

--verbose, --V [level]

Activer la sortie détaillée. Les valeurs de niveau sont silly, info, log (valeur par défaut) et silent.

--config, -c [path]

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

Outil Port Commande
Angular 4200 swa start http://localhost:4200
WebAssembly Blazor 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 (Create React App) 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 d’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

Connexions aux bases de données

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

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

Exemples

Démarrer l’application avec des valeurs par défaut.

swa start

Démarrer l’application avec un serveur de développement front-end.

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

Démarrer l’application avec un serveur de développement front-end et back-end.

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

Paramètres facultatifs

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

Le 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. Par défaut, 4280.

--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.

Paramètres globaux
--version, -v

Afficher le numéro de version.

--verbose, --V [level]

Activer la sortie détaillée. Les valeurs de niveau sont silly, info, log (valeur par défaut) et silent.

--config, -c [path]

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 build

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

Voici des cas d’usage courants : installer des dépendances pour l’application front-end et l’API, et exécuter des commandes de build pour les deux, en générant seulement le projet front-end ou d’API si l’autre projet n’a pas d’étape de génération.

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

Exemples

Générer l’application et éventuellement installer des dépendances.

swa build

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

swa build --auto

Installer des dépendances pour l’application front-end.

swa build --app-location ./client

Utiliser la configuration nommée « myApp » dans *swa-cli.config.json* pour générer votre application front-end.

swa build myApp

Paramètres facultatifs

--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.

Paramètres globaux
--version, -v

Afficher le numéro de version.

--verbose, --V [level]

Activer la sortie détaillée. Les valeurs de niveau sont silly, info, log (valeur par défaut) et silent.

--config, -c [path]

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

Jeton de déploiement

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 :

  • Le portail Azure : Accueil → Application web statique → 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 en utilisant 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 : 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 que vous voulez 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

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"
  }
}

Remarque : si votre projet n’a pas de fichiers staticwebapp.config.json, ajoutez-en un sous votre dossier outputLocation.

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

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 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
swa deploy
          [--yes]

Exemples

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 « 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
Paramètres globaux
--version, -v

Afficher le numéro de version.

--verbose, --V [level]

Activer la sortie détaillée. Les valeurs de niveau sont silly, info, log (valeur par défaut) et silent.

--config, -c [path]

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 db

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

Utilisez swa db init pour générer un exemple de dossier swa-db-connections ainsi qu’un fichier de configuration staticwebapp.database.config.json. Si vous utilisez une base de données Cosmos DB for NoSQL, ceci va aussi générer un exemple de fichier de schéma staticwebapp.database.schema.gql.

swa db init --database-type <DATABASE_TYPE>

Exemples

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

Paramètres facultatifs

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

La base de données de votre compte Cosmos DB que vous voulez connecter (nécessaire seulement si vous utilisez le type de base de données cosmosdb_nosql).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Le conteneur de votre compte cosmosdb que vous voulez connecter.

--help, -h

Afficher l’aide pour une commande.

Paramètres globaux
--version, -v

Afficher le numéro de version.

--verbose, --V [level]

Activer la sortie détaillée. Les valeurs de niveau sont silly, info, log (valeur par défaut) et silent.

--config, -c [path]

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.