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:
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.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.
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.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 .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.
Compile la aplicación Blazor en modo de versión :
dotnet publish -c Release -o bin/publish
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"
}
}
}
}
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.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