Inicio rápido: Integración de Bicep en Azure Pipelines
En este artículo de inicio rápido se muestra cómo integrar archivos Bicep en Azure Pipelines para la integración continua e implementación continua (CI/CD).
Se brinda una breve introducción a la tarea de canalización que necesita para implementar un archivo Bicep. Si desea pasos más detallados sobre cómo configurar la canalización y el proyecto, consulte Implementación de recursos de Azure mediante Bicep y Azure Pipelines.
Prerrequisitos
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Necesita una organización de Azure DevOps. Si no tiene ninguna, cree una gratis. Si su equipo ya tiene una organización de Azure DevOps, compruebe que es administrador del proyecto de Azure DevOps que quiere utilizar.
Tiene que haber configurado una conexión al servicio en la suscripción de Azure. Las tareas en la canalización se ejecutan con la identidad de la entidad de servicio. Para conocer los pasos para crear la conexión, consulte Crear un proyecto de DevOps.
Necesita un archivo Bicep que defina la infraestructura del proyecto. Este archivo está en un repositorio.
Necesita un archivo bicepparam que defina los parámetros que usa el archivo bicep. Este archivo está en un repositorio.
Creación de una canalización
En la organización de Azure DevOps, seleccione Canalizaciones y Crear canalización.
Especifique dónde está almacenado el código. En este inicio rápido usa el Git de Azure Repos.
Seleccione el repositorio que tiene el código para el proyecto.
Seleccione Canalización inicial para el tipo de canalización que quiere crear.
Implementación de archivos de Bicep
Puede usar la tarea implementación del grupo de recursos de Azure o la tarea de la CLI de Azure para implementar un archivo de Bicep.
Usar la tarea de implementación de plantillas de Azure Resource Manager
Nota:
A partir de la versión 3.235.0 de la tarea Implementación de la plantilla de Azure Resource Manager, se admite el uso de archivos bicepparam.
Nota:
La tarea AzureResourceManagerTemplateDeployment@3
requiere que se proporcionen archivos Bicep y bicepparam al usar bicepparam. El archivo Bicep puede hacer referencia a todas las ubicaciones admitidas para las referencias de módulo. El archivo bicepparam debe hacer referencia al archivo Bicep local en la instrucción using
.
Reemplace la canalización inicial por el siguiente código YAML. Crea un grupo de recursos e implementa un archivo Bicep y un archivo bicepparam mediante la tarea Implementación de la plantilla de Azure Resource Manager.
trigger: - main name: Deploy Bicep files parameters: - name: azureServiceConnection type: string default: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' resourceGroupName: 'exampleRG' location: '<your-resource-group-location>' templateFile: './main.bicep' csmParametersFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: AzureResourceManagerTemplateDeployment@3 inputs: deploymentScope: 'Resource Group' azureSubscription: '${{ parameters.azureServiceConnection }}' action: 'Create Or Update Resource Group' resourceGroupName: '$(resourceGroupName)' location: '$(location)' templateLocation: 'Linked artifact' csmFile: '$(templateFile)' csmParametersFile: '$(csmParametersFile)' overrideParameters: '-storageAccountType Standard_LRS' deploymentMode: 'Incremental' deploymentName: 'DeployPipelineTemplate'
Actualice los valores de
azureServiceConnection
ylocation
.Compruebe que tiene un archivo
main.bicep
válido en el repositorio.Compruebe que tiene un archivo
main.bicepparam
válido en el repositorio y que contiene una instrucción using.Seleccione Guardar. La canalización de compilación se ejecuta automáticamente. Vuelva al resumen de la canalización de compilación y vea el estado.
Uso de una tarea de la CLI de Azure
Nota:
El comando az deployment group create requiere solo un archivo bicepparam. La instrucción using
en el archivo bicepparam puede tener como destino cualquier ubicación admitida para hacer referencia al archivo de Bicep. Un archivo de Bicep solo es necesario en el repositorio cuando using
se aplica desde una ruta de acceso de disco local con la CLI de Azure.
Nota:
Cuando se usa un archivo bicepparam con el comando az deployment group create, no se pueden invalidar los parámetros.
Reemplace la canalización inicial por el siguiente código YAML. Crea un grupo de recursos e implementa un archivo bicepparam mediante una tarea de la CLI de Azure:
trigger: - main name: Deploy Bicep files parameters: azureServiceConnection: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' resourceGroupName: 'exampleRG' location: '<your-resource-group-location>' bicepParamFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: AzureCLI@2 inputs: azureSubscription: '${{ parameters.azureServiceConnection }}' scriptType: bash scriptLocation: inlineScript useGlobalConfig: false inlineScript: | az --version az group create --name $(resourceGroupName) --location $(location) az deployment group create ` --resource-group $(resourceGroupName) ` --parameters $(bicepParamFile) ` --name DeployPipelineTemplate
Para ver las descripciones de las entradas de tarea, consulte Tarea de la CLI de Azure. Al usar la tarea en la nube aislada, debe establecer la propiedad
useGlobalConfig
de la tarea entrue
. El valor predeterminado esfalse
.Actualice los valores de
azureServiceConnection
ylocation
.Compruebe que tiene un archivo
main.bicepparam
válido en el repositorio y que contiene una instrucción using.Seleccione Guardar. La canalización de compilación se ejecuta automáticamente. Vuelva al resumen de la canalización de compilación y vea el estado.
Limpieza de recursos
Cuando los recursos de Azure dejen de ser necesarios, use la CLI de Azure o Azure PowerShell para eliminar el grupo de recursos y el recurso del servidor del artículo de inicio rápido.
az group delete --name exampleRG