Inicio rápido: automatización de implementaciones

Nota

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

La información de este artículo puede ponerse en práctica en:❌ Básico o Estándar ✔️ Enterprise

En este inicio rápido se muestra cómo automatizar las implementaciones en el plan de Enterprise de Azure Spring Apps mediante Acciones de GitHub y Terraform.

Requisitos previos

Configuración y autenticación de un repositorio de GitHub

La automatización asociada a la aplicación de ejemplo requiere una cuenta de Storage para mantener el estado de Terraform. En los pasos siguientes se muestra cómo crear una cuenta de Storage para usarla con Acciones de GitHub y Terraform.

  1. Use el siguiente comando para crear un grupo de recursos que contenga la cuenta de Storage:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Use el comando siguiente para crear una cuenta de Storage:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Use el siguiente comando para crear un contenedor de Storage en la cuenta de Storage:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Use los siguientes comandos para obtener una credencial de Azure. Para autorizar la acción de inicio de sesión de Azure se necesita una credencial de entidad de servicio de Azure.

    az login
    az ad sp create-for-rbac \
        --role contributor \
        --scopes /subscriptions/<SUBSCRIPTION_ID> \
        --json-auth
    

    El comando debe generar un objeto JSON:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. En este ejemplo se usa el ejemplo de Fitness Store en GitHub. Bifurque el ejemplo, abra la página del repositorio de GitHub y, después, seleccione la pestaña Settings (Configuración). Abra el menú Secrets (Secretos) y, después, seleccione Add a new secret (Agregar un nuevo secreto), como se muestra en la siguiente captura de pantalla.

    Screenshot showing GitHub Settings Add new secret.

  6. Establezca el nombre del secreto en AZURE_CREDENTIALS y su valor en la cadena JSON que encontró en el encabezado Autenticación y configuración del repositorio de GitHub.

    Screenshot showing GitHub Settings Set secret data.

  7. Agregue los siguientes secretos a Acciones de GitHub:

  8. Agregue el secreto TF_BACKEND_CONFIG a Acciones de GitHub con el siguiente valor:

    resource_group_name  = "<storage-resource-group>"
    storage_account_name = "<storage-account-name>"
    container_name       = "terraform-state-container"
    key                  = "dev.terraform.tfstate"
    

Automatización con acciones de GitHub

Ahora puede ejecutar Acciones de GitHub en el repositorio. El flujo de trabajo de aprovisionamiento aprovisiona todos los recursos necesarios para ejecutar la aplicación de ejemplo. En la siguiente captura de pantalla se muestra la ejecución de un ejemplo:

Screenshot of GitHub showing output from the provision workflow.

Cada aplicación tiene un flujo de trabajo de implementación que volverá a implementar la aplicación cuando se realicen cambios en ella. En la captura de pantalla siguiente se muestra una salida de ejemplo del servicio de catálogo:

Screenshot of GitHub showing output from the Deploy Catalog workflow.

El flujo de trabajo de limpieza se puede ejecutar manualmente para eliminar todos los recursos que ha creado el flujo de trabajo provision. En la captura de pantalla siguiente se muestra el resultado:

Screenshot of GitHub showing output from the cleanup workflow.

Limpieza de recursos

Si planea seguir trabajando en otros inicios rápidos y tutoriales, considere la posibilidad de dejar estos recursos activos. Cuando ya no lo necesite, elimine el grupo de recursos, que elimina los recursos que contiene. Para eliminar el grupo de recursos mediante la CLI de Azure, use estos comandos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Pasos siguientes

Continúe con cualquiera de los siguientes artículos de inicio rápido opcionales: