Introducción
Desplegar una aplicación Blazor en Azure te permite hacer que tu aplicación esté disponible en la nube, escalable y accesible desde cualquier lugar. En este tutorial, aprenderás cómo desplegar una aplicación Blazor WebAssembly y Blazor Server en Azure.
Paso 1: Preparación del Proyecto
- Crear una Aplicación Blazor WebAssembly o Blazor Server: Si no tienes una aplicación Blazor ya creada, puedes crear una nueva usando la CLI de .NET:
dotnet new blazorwasm -n MiBlazorWasmApp
# o
dotnet new blazorserver -n MiBlazorServerApp
- Configurar el Proyecto: Asegúrate de que tu proyecto esté configurado correctamente y funcione localmente antes de proceder con el despliegue.
Paso 2: Crear una Cuenta de Azure y Configurar el Entorno
- Crear una Cuenta de Azure: Si aún no tienes una cuenta de Azure, regístrate en Azure Portal.
- Instalar Azure CLI: Descarga e instala la CLI de Azure desde Azure CLI. Esto te permitirá interactuar con Azure desde la línea de comandos.
Paso 3: Desplegar una Aplicación Blazor WebAssembly en Azure
- Publicar la Aplicación Blazor WebAssembly: Publica tu aplicación Blazor WebAssembly para que esté lista para el despliegue:
dotnet publish -c Release
- Esto generará una carpeta
publish
con los archivos necesarios para el despliegue. - Crear un App Service en Azure: En el portal de Azure, crea un nuevo App Service:
- Nombre de la App: Elige un nombre único.
- Sistema Operativo: Windows o Linux.
- Plan de Servicio: Selecciona o crea un plan de servicio que se ajuste a tus necesidades.
- Desplegar la Aplicación usando Azure CLI: Usa Azure CLI para desplegar tu aplicación:
az webapp up --name MiBlazorWasmApp --resource-group MiGrupoDeRecursos --plan MiPlanDeServicio --location "East US" --sku F1 --html
- Este comando subirá los archivos estáticos generados en la carpeta
publish/wwwroot
a tu App Service.
Paso 4: Desplegar una Aplicación Blazor Server en Azure
- Publicar la Aplicación Blazor Server: Publica tu aplicación Blazor Server:
dotnet publish -c Release
- Esto generará una carpeta
publish
con los archivos necesarios para el despliegue. - Crear un App Service en Azure: En el portal de Azure, crea un nuevo App Service similar al paso anterior.
- Configurar la Cadena de Conexión (Opcional): Si tu aplicación Blazor Server utiliza una base de datos, configura la cadena de conexión en el portal de Azure:
- Navega a tu App Service.
- Ve a “Configuration” y agrega la cadena de conexión en la sección “Connection strings”.
- Desplegar la Aplicación usando GitHub Actions (Opcional): Puedes configurar GitHub Actions para desplegar automáticamente tu aplicación:
- En tu repositorio de GitHub, crea un archivo en
.github/workflows/azure.yml
con el siguiente contenido:
- En tu repositorio de GitHub, crea un archivo en
name: Build and deploy ASP.NET Core app to Azure Web App
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@v2
- name: Set up .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '5.0.x'
- name: 'Build .NET project'
run: |
dotnet build --configuration Release
dotnet publish -c Release -o ${{ github.workspace }}/publish
- name: 'Deploy to Azure WebApp'
uses: azure/webapps-deploy@v2
with:
app-name: 'MiBlazorServerApp'
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
package: ${{ github.workspace }}/publish
Paso 5: Monitoreo y Escalabilidad
- Monitoreo: Utiliza Azure Monitor para supervisar el rendimiento de tu aplicación y ver métricas importantes como el uso de CPU, memoria y la tasa de solicitudes.
- Escalabilidad: Configura la escalabilidad automática en tu App Service para manejar picos de tráfico y ajustar automáticamente los recursos según la demanda.
El despliegue de una aplicación Blazor en Azure es un proceso sencillo que implica publicar tu aplicación, configurar un App Service y subir los archivos de tu aplicación. Azure proporciona herramientas potentes para monitorear y escalar tu aplicación, asegurando que permanezca disponible y receptiva bajo diferentes cargas de trabajo. En este tutorial, has aprendido cómo desplegar tanto aplicaciones Blazor WebAssembly como Blazor Server en Azure.