Inicio rápido: automatización de implementaciones
Nota:
Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.
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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Comprenda y cumpla la sección Requisitos del plan Enterprise en Azure Marketplace.
- La versión 2.45.0 o superior de la CLI de Azure.
- Git.
- jq
- La extensión del plan Enterprise de Azure Spring Apps. Use el siguiente comando para eliminar las versiones anteriores e instalar la extensión del plan Enterprise más reciente. Si ya ha instalado la extensión
spring-cloud
, desinstálela para evitar errores de coincidencia de la configuración y la versión.az extension add --upgrade --name spring az extension remove --name spring-cloud
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.
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>
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
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
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>", ... }
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.
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.Agregue los siguientes secretos a Acciones de GitHub:
TF_PROJECT_NAME
: use el valor que desee. Este valor será el nombre del proyecto de Terraform.AZURE_LOCATION
: la región de Azure en que se crearán los recursos.OIDC_JWK_SET_URI
: Use el valor deJWK_SET_URI
que se define en Inicio rápido: Configuración del inicio de sesión único en aplicaciones mediante el plan Enterprise de Azure Spring Apps.OIDC_CLIENT_ID
: Use el valor deCLIENT_ID
que se define en Inicio rápido: Configuración del inicio de sesión único en aplicaciones mediante el plan Enterprise de Azure Spring Apps.OIDC_CLIENT_SECRET
: Use el valor deCLIENT_SECRET
que se define en Inicio rápido: Configuración del inicio de sesión único en aplicaciones mediante el plan Enterprise de Azure Spring Apps.OIDC_ISSUER_URI
: Use el valor deISSUER_URI
que se define en Inicio rápido: Configuración del inicio de sesión único en aplicaciones mediante el plan Enterprise de Azure Spring Apps.
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:
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:
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:
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: