Automatización de tareas con la CLI de Azure

La automatización de las tareas de Azure es un requisito común para la implementación continua en entornos de hospedaje. La CLI de Azure es la opción recomendada para que los desarrolladores de JavaScript administren tareas e implementen desde cualquier ubicación.

Obtenga información sobre los comandos de tareas comunes para desarrolladores de JavaScript.

Automatización con la CLI de Azure

Para automatizar con la CLI de Azure, la CLI debe estar instalada en el entorno. Los métodos más comunes son:

Uso de los comandos de ejemplo

  1. Reemplace las variables entre corchetes, <...>, por sus propios valores.
  2. El valor del repositorio de GitHub para <MY_GITHUB_DEFAULT_BRANCH_NAME> es específico del repositorio utilizado. Actualmente, los valores típicos son maino default. Los repositorios más antiguos pueden utilizar master.

Autenticación con identidad administrada para tareas automatizadas con la CLI de Azure

Para la automatización, la autenticación con az login en la CLI de Azure con identidad administrada.

az login --identity

Autenticación con entidad de servicio para tareas automatizadas con la CLI de Azure

Una vez creada la entidad de servicio, inicie sesión con la entidad de servicio de un usuario.

read -sp "Azure password: " AZ_PASS && echo && \ 
    az login --service-principal \
    -u <MY-SP-APP-URL> \
    -p $AZ_PASS \
    --tenant <MY-TENANT>

Autenticación con credenciales de usuario para tareas automatizadas con la CLI de Azure

Use el siguiente comando para autenticarse con credenciales de usuario.

az login -u <MY_AZURE_USERNAME> -p <MY_AZURE_PASSWORD>

Creación de un grupo de recursos para los recursos

Un grupo de recursos es una colección lógica de sus recursos de Azure. La agrupación lógica se basa en los servicios que necesita en una región específica para un proyecto. Más información sobre convenciones de nomenclatura. Use el comando az group create para crear el grupo de recursos antes de crear recursos de servicio de Azure.

az group create \
    --name <MY-AZURE-RESOURCE_GROUP_NAME> \
    --location <AZURE_REGION_LOCATION>

Creación de un recurso de aplicación web estática de Azure

Use el comando az staticwebapp create para crear una nueva aplicación web estática.

az staticwebapp create \
    --name <MY_AZURE_WEB_APP_NAME> \
    --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
    --source https://github.com/<MY_GITHUB_ACCOUNT_NAME>/<MY_AZURE_WEB_APP_NAME> \
    --location <AZURE_REGION_LOCATION> \
    --branch <MY_GITHUB_DEFAULT_BRANCH_NAME> \
    --app-artifact-location "<MY_WEB_APP_BUILD_DIRECTORY_NAME>" \
    --token <MY_GITHUB_PERSONAL_ACCESS_TOKEN>

Implementación de una aplicación web estática de Azure

Para implementar la aplicación, inserte en la rama remota de GitHub establecida durante la creación de recursos en el conjunto anterior.

git push <REMOTE_NAME> <MY_GITHUB_DEFAULT_BRANCH_NAME>

Un ejemplo de este comando es:

git push origin main

Eliminación de una aplicación web estática

Use el comando az staticwebapp delete para eliminar la aplicación web estática.

az staticwebapp delete && \
    --name <MY_AZURE_WEB_APP_NAME> && \
    --resource-group <MY-AZURE-RESOURCE_GROUP_NAME>

Creación de una aplicación de funciones de Azure

Una aplicación de funciones basada en el consumo necesita tanto la aplicación de funciones como un recurso de almacenamiento.

  1. Cree el recurso de almacenamiento con az storage account create:

    az storage account create \
      --name <MY-AZURE-STORAGE> \
      --location <AZURE_REGION_LOCATION> \
      --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
      --sku Standard_LRS    
    
  2. Cree el recurso de la aplicación de funciones con az functionapp create:

    az functionapp create \
      --name <MY-AZURE-FUNCTION> \
      --storage-account <MY-AZURE-STORAGE> \
      --consumption-plan-location <AZURE_REGION_LOCATION> \
      --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
      --functions-version 2
    

Creación de un punto de conexión de Azure Function API

No hay ningún comando de la CLI de Azure para crear un punto de conexión de Azure Function API para el proyecto de desarrollo local . La extensión De función de Azure de Visual Studio Code es la manera recomendada de crear un proyecto local de Azure Functions y agregar puntos de conexión de API al proyecto.

Creación de una ranura de implementación de Azure Functions

La creación de una ranura de implementación, a continuación, el intercambio le permite revertir rápidamente una implementación. Cree una implementación lenta con el comando az functionapp deployment slot create .

az functionapp deployment slot create \
    --name <MY-AZURE-FUNCTION> \
    --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
    --slot <MY-SLOT-NAME> \
    --configuration-source <MY-PRODUCTION-SLOT> 

Implementación de azure Function desde Git

Administre la implementación desde repositorios git o Mercurial con az functionapp deployment source config. Seleccione un tipo de repositorio para la --repository-type configuración en las opciones: externalgit, git, github, localgit, mercurial.

az functionapp deployment source config --repo-url \
    --branch <MY-REPO-BRANCH> \
    --git-token <MY-GIT-TOKEN> \
    --name <MY-AZURE-FUNCTION> \
    --repository-type <MY-REPO-TYPE> \
    --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
    --slot <MY-SLOT-NAME> \

Intercambio de ranuras de función de Azure

Use el comando az functionapp deployment slot swap para intercambiar ranuras. Las opciones de acción de ranura son: vista previa, restablecimiento, intercambio

az functionapp deployment slot swap \
    --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
    --name <MY-AZURE-FUNCTION> \
    --slot <MY-SLOT-NAME> \
    --action <YOUR-ACTION> \
    --target-slot <MY-OTHER-SLOT-NAME>

Eliminación de la función de Azure

Use el comando [az functionapp delete] para eliminar la aplicación de funciones.

az functionapp delete \
    --resource-group <MY-AZURE-RESOURCE_GROUP_NAME> \
    --name <MY-AZURE-FUNCTION> 

Pasos siguientes