Share via


Implementación de una aplicación web estática con la CLI de Azure Static Web Apps

La CLI de Azure Static Web Apps (CLI de SWA) incluye el deploy comando para implementar el proyecto actual en Azure Static Web Apps.

Entre los escenarios de implementación comunes se incluyen:

  • Una aplicación front-end sin una API
  • Una aplicación front-end con una API
  • Aplicaciones blazor

Token de implementación

La CLI de SWA admite la implementación mediante un token de implementación para habilitar las configuraciones en entornos de CI/CD.

Puede obtener un token de implementación de:

  • Azure Portal: Inicio → Static Web App → Introducción a la instancia → → Administración del token de implementación

  • CLI de Azure: Con el secrets list comando :

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • CLI de Azure Static Web Apps: mediante el deploy comando :

    swa deploy --print-token
    

A continuación, puede usar el valor del token con --deployment-token <TOKEN> o puede crear una variable de entorno denominada SWA_CLI_DEPLOYMENT_TOKEN y establecerla en el token de implementación.

Importante

No almacene tokens de implementación en un repositorio público.

Implementación de una aplicación front-end sin una API

Puede implementar una aplicación front-end sin una API en Azure Static Web Apps. Si la aplicación front-end requiere un paso de compilación, ejecute swa build o consulte las instrucciones de compilación de la aplicación.

Seleccione la opción que mejor se adapte a sus necesidades para configurar la implementación.

  • Opción 1: Desde la carpeta de compilación que desea implementar, ejecute el comando deploy:

    cd build/
    swa deploy
    

    Nota:

    La carpeta de compilación debe contener el contenido estático de la aplicación que se va a implementar.

  • Opción 2: También puede implementar una carpeta específica:

    1. Si la aplicación front-end requiere un paso de compilación, ejecute swa build o consulte las instrucciones de compilación de la aplicación.

    2. Implemente la aplicación:

    swa deploy ./my-dist
    

Implementación de una aplicación front-end con una API

Siga estos pasos para implementar una aplicación que tenga puntos de conexión de API.

  1. Si la aplicación front-end requiere un paso de compilación, ejecute swa build o consulte las instrucciones de compilación de la aplicación.

  2. Asegúrese de que la versión de API Language Runtime del archivo staticwebapp.config.json esté establecida correctamente, por ejemplo:

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

    Nota:

    Si el proyecto no tiene el archivo staticwebapp.config.json , agregue uno en la outputLocation carpeta .

  3. Implemente la aplicación:

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

Implementación de una aplicación Blazor

Puede implementar una aplicación Blazor mediante los pasos siguientes.

  1. Compile la aplicación Blazor en modo de versión :

    dotnet publish -c Release -o bin/publish
    
  2. Desde la raíz del proyecto, ejecute el comando deploy:

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

Implementación mediante un archivo de configuración

Nota:

La ruta de acceso de outputLocation debe ser relativa a .appLocation

Si usa un swa-cli.config.json archivo de configuración en el proyecto con una sola entrada de configuración, puede implementar la aplicación mediante la ejecución de los pasos siguientes.

Como referencia, un ejemplo de una única entrada de configuración es similar al siguiente fragmento de código.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Si la aplicación front-end requiere un paso de compilación, ejecute swa build o consulte las instrucciones de compilación de la aplicación.

  2. Implementar la aplicación.

swa deploy

Si tiene varias entradas de configuración, puede proporcionar el identificador de entrada para especificar cuál usar:

swa deploy my-otherapp

Opciones

A continuación se muestran las opciones que puede usar con swa deploy:

  • -a, --app-location <path>: la carpeta que contiene el código fuente de la aplicación front-end (valor predeterminado: ".")
  • -i, --api-location <path>: la carpeta que contiene el código fuente de la aplicación de API.
  • -O, --output-location <path>: la carpeta que contiene el origen compilado de la aplicación front-end. La ruta de acceso es relativa a --app-location (valor predeterminado: ".")
  • -w, --swa-config-location <swaConfigLocation>: el directorio donde se encuentra el archivo staticwebapp.config.json.
  • -d, --deployment-token <secret>: el token secreto usado para autenticarse con Static Web Apps
  • -dr, --dry-run: simula un proceso de implementación sin ejecutarlo realmente (valor predeterminado: false)
  • -pt, --print-token: imprima el token de implementación (valor predeterminado: false)
  • --env [environment]: el tipo de entorno de implementación en el que se va a implementar el proyecto (valor predeterminado: "preview")
  • -S, --subscription-id <subscriptionId>: identificador de suscripción de Azure usado por este proyecto (valor predeterminado: process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: grupo de recursos de Azure usado por este proyecto
  • -T, --tenant-id <tenantId>: identificador de inquilino de Azure (valor predeterminado: process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: identificador de cliente de Azure
  • -CS, --client-secret <clientSecret>: secreto de cliente de Azure
  • -n, --app-name <appName>: nombre de aplicación de Azure Static Web App
  • -cc, --clear-credentials: borra las credenciales persistentes antes de iniciar sesión (valor predeterminado: false)
  • -u, --use-keychain: habilita el uso de la cadena de claves nativa del sistema operativo para las credenciales persistentes (valor predeterminado: true)
  • -nu, --no-use-keychain: deshabilita el uso de la cadena de claves nativa del sistema operativo.
  • -h, --help: ayuda para mostrar el comando

Uso

Implemente mediante un token de implementación.

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

Implemente mediante un token de implementación de las variables de entorno.

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

Implementación mediante swa-cli.config.json el archivo

swa deploy
swa deploy myconfig

Imprima el token de implementación.

swa deploy --print-token

Implemente en un entorno específico.

swa deploy --env production

Pasos siguientes