Démarrage rapide : Intégrer Bicep à Azure Pipelines
Ce démarrage rapide vous montre comment intégrer des fichiers Bicep à Azure Pipelines pour l’intégration continue et la livraison continue (CI/CD).
Il vous propose une brève introduction à la tâche de pipeline dont vous avez besoin pour déployer un fichier Bicep. Pour plus d’informations sur la configuration du pipeline et du projet, consultez Déployer des ressources Azure à l’aide de Bicep et d’Azure Pipelines.
Prérequis
Si vous ne disposez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Vous avez besoin d’une organisation Azure DevOps. Si vous n’en avez pas, créez-en une gratuitement. Si votre équipe a déjà une organisation Azure DevOps, assurez-vous d’être un administrateur du projet Azure DevOps que vous souhaitez utiliser.
Vous devez avoir configuré une connexion de service pour votre abonnement Azure. Les tâches dans le pipeline s’exécutent sous l’identité du principal du service. Pour obtenir des instructions sur la création d’une connexion, consultez Créer un projet DevOps.
Vous avez besoin d’un fichier Bicep qui définit l’infrastructure de votre projet. Ce fichier se trouve dans un référentiel.
Vous avez besoin d'un fichier bicepparam qui définit les paramètres utilisés par votre fichier bicep. Ce fichier se trouve dans un référentiel.
Création d’un pipeline
À partir de votre organisation Azure DevOps, sélectionnez Pipelines et Créer un pipeline.
Spécifiez où votre code est stocké. Ce guide de démarrage rapide utilise Azure Repos Git.
Sélectionnez le référentiel contenant le code de votre projet.
Sélectionnez Pipeline de démarrage pour le type de pipeline à créer.
Déployer des fichiers Bicep
Vous pouvez utiliser la tâche de déploiement du groupe de ressources Azure ou la tâche Azure CLI pour déployer un fichier Bicep.
Utiliser la tâche de déploiement de modèle Azure Resource Manager
Remarque
Depuis la version 3.235.0 de la tâche de déploiement de modèle Azure Resource Manager, l'utilisation des fichiers bicepparam est prise en charge.
Remarque
La tâche AzureResourceManagerTemplateDeployment@3
nécessite que les fichiers Bicep et bicepparam soient fournis lors de l'utilisation de bicepparam. Le fichier Bicep peut référencer tous les emplacements pris en charge pour les références de module. Le fichier bicepparam doit référencer le fichier Bicep local dans l'instruction using
.
Remplacez votre pipeline de démarrage par le YAML suivant. Il crée un groupe de ressources et déploie un fichier Bicep et bicepparam à l'aide de la tâche de déploiement de modèle 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'
Mettez à jour les valeurs de
azureServiceConnection
etlocation
.Vérifiez que vous disposez d'un fichier
main.bicep
valide dans votre dépôt.Vérifiez que vous avez un fichier
main.bicepparam
valide dans votre répertoire qui contient une instruction using.Sélectionnez Enregistrer. Le pipeline de build s’exécute automatiquement. Revenez au résumé de votre pipeline de build et regardez l’état.
Utiliser une tâche Azure CLI
Remarque
La commande az deployment group create nécessite uniquement un fichier bicepparam. L'instruction using
du fichier bicepparam peut cibler n'importe quel emplacement pris en charge pour référencer le fichier Bicep. Un fichier Bicep n'est nécessaire dans votre référentiel que lorsque using
à partir d'un chemin d'accès local à l'aide d'Azure CLI.
Remarque
Lorsque vous utilisez un fichier bicepparam avec la commande az deployment group create, vous ne pouvez pas remplacer les paramètres.
Remplacez votre pipeline de démarrage par le YAML suivant. Il crée un groupe de ressources et déploie un fichier bicepparam à l'aide d'une tâche Azure CLI :
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
Pour obtenir les descriptions des entrées de tâche, consultez la tâche Azure CLI. Lorsque vous utilisez la tâche sur un cloud hermétique, vous devez définir la propriété
useGlobalConfig
de la tâche surtrue
. La valeur par défaut estfalse
.Mettez à jour les valeurs de
azureServiceConnection
etlocation
.Vérifiez que vous avez un fichier
main.bicepparam
valide dans votre répertoire qui contient une instruction using.Sélectionnez Enregistrer. Le pipeline de build s’exécute automatiquement. Revenez au résumé de votre pipeline de build et regardez l’état.
Nettoyer les ressources
Lorsque les ressources Azure ne sont plus nécessaires, utilisez Azure CLI ou Azure PowerShell pour supprimer le groupe de ressources qui a été utilisé pour ce démarrage rapide.
az group delete --name exampleRG