Ejercicio: Implementación de un archivo de Bicep a partir de flujos de trabajo de GitHub
Las Acciones de GitHub son similares por naturaleza a Azure Pipelines. Proporcionan una manera de automatizar el desarrollo y las implementaciones de software. En este ejercicio, aprenderá a implementar un archivo de Bicep mediante una acción de GitHub.
Requisitos previos
- Necesitará una cuenta de GitHub que puede crear gratis aquí.
- También se necesita un repositorio de GitHub para almacenar el archivo de Bicep y los flujos de trabajo creados anteriormente en el Ejercicio: Creación de plantillas de Bicep. Una vez que haya creado el repositorio de GitHub, inserte en él el archivo de Bicep.
- Para la implementación en Azure, se necesita acceso a una suscripción de Azure, que se puede crear gratis aquí.
Creación de una entidad de servicio en Azure
Para implementar los recursos en Azure, deberá crear una entidad de servicio que GitHub pueda usar. Por lo tanto, abra un terminal o use Cloud Shell en Azure Portal y escriba los siguientes comandos:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
Nota
No olvide reemplazar el identificador de la suscripción por el suyo.
Cuando la operación se realiza correctamente, debe generar un objeto JSON que contenga las propiedades tenantId
, subscriptionId
, clientId
, clientSecret
y algunas más, como las siguientes.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Anote este objeto, ya que tendrá que agregarlo a los secretos de GitHub.
Creación de un secreto de GitHub
En el repositorio de GitHub, vaya a Configuración>Secretos>Acciones. Cree un secreto denominado AZURE_CREDENTIALS
y pegue todo el objeto JSON que obtuvo en el paso anterior.
Cree otro secreto para el nombre del grupo de recursos con un nombre como AZURE_RG
y otro para la suscripción.
Creación de una acción de GitHub
En primer lugar, vaya al repositorio y seleccione el menú Acciones. Luego, configure un flujo de trabajo para crear un flujo de trabajo vacío en el repositorio. Si lo prefiere, puede cambiar el nombre del archivo por otro nombre.
Reemplace el contenido del archivo por el siguiente fragmento de código:
on: [push] name: Azure ARM jobs: build-and-deploy: runs-on: ubuntu-latest steps: # Checkout code - uses: actions/checkout@main # Log into Azure - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} # Deploy Bicep file - name: deploy uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: storagePrefix=stg failOnStdErr: false
No dude en reemplazar el prefijo de la cuenta de almacenamiento por el suyo propio.
Nota
La primera parte del flujo de trabajo define el desencadenador y su nombre. El resto define un trabajo y usa algunas tareas para extraer el código, iniciar sesión en Azure e implementar el archivo de Bicep.
Seleccione Iniciar confirmación y escriba un título y una descripción en el cuadro de diálogo emergente. A continuación, seleccione Confirmar directamente en la rama principal y después Confirmar un nuevo archivo.
Vaya a la pestaña Acciones y seleccione la acción recién creada que debe estar en ejecución.
Supervise el estado y, cuando finalice el trabajo, compruebe Azure Portal para ver si se está creando la cuenta de almacenamiento.