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

  1. À partir de votre organisation Azure DevOps, sélectionnez Pipelines et Créer un pipeline.

    Capture d’écran de la création d’un nouveau pipeline.

  2. Spécifiez où votre code est stocké. Ce guide de démarrage rapide utilise Azure Repos Git.

    Capture d’écran de la sélection de la source du code.

  3. Sélectionnez le référentiel contenant le code de votre projet.

    Capture d’écran de la sélection du référentiel.

  4. Sélectionnez Pipeline de démarrage pour le type de pipeline à créer.

    Capture d’écran de la sélection du pipeline.

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.

  1. 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'
    
  2. Mettez à jour les valeurs de azureServiceConnection et location.

  3. Vérifiez que vous disposez d'un fichier main.bicep valide dans votre dépôt.

  4. Vérifiez que vous avez un fichier main.bicepparam valide dans votre répertoire qui contient une instruction using.

  5. 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.

  1. 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 sur true. La valeur par défaut est false.

  2. Mettez à jour les valeurs de azureServiceConnection et location.

  3. Vérifiez que vous avez un fichier main.bicepparam valide dans votre répertoire qui contient une instruction using.

  4. 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

Étapes suivantes