Guida introduttiva: Integrare Bicep con Azure Pipelines

Questa guida introduttiva illustra come integrare i file Bicep con Azure Pipelines per l'integrazione continua e la distribuzione continua (CI/CD).

Offre una breve introduzione all'attività della pipeline necessaria per la distribuzione di un file Bicep. Per istruzioni più dettagliate sulla configurazione della pipeline e del progetto, vedere Distribuire le risorse di Azure usando Bicep e Azure Pipelines.

Prerequisiti

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

È necessaria un'organizzazione di Azure DevOps. Se non è disponibile, crearne uno gratuitamente. Se il team ha già un'organizzazione di Azure DevOps, assicurarsi di essere un amministratore del progetto Azure DevOps che si vuole usare.

È necessario aver configurato una connessione al servizio alla sottoscrizione di Azure. Le attività nella pipeline vengono eseguite con l'identità dell'entità servizio. Per la procedura per creare la connessione, vedere Creare un progetto DevOps.

È necessario un file Bicep che definisce l'infrastruttura per il progetto. Questo file si trova in un repository.

È necessario un file bicepparam che definisce i parametri usati dal file bicep. Questo file si trova in un repository.

Creare una pipeline

  1. Nell'organizzazione di Azure DevOps selezionare Pipeline e Crea pipeline.

    Screenshot della creazione di una nuova pipeline.

  2. Specificare dove è archiviato il codice. Questo argomento di avvio rapido usa Git di Azure Repos.

    Screenshot della selezione dell'origine del codice.

  3. Selezionare il repository con il codice per il progetto.

    Screenshot della selezione del repository.

  4. Selezionare Starter pipeline (Pipeline iniziale) per il tipo di pipeline da creare.

    Screenshot della selezione della pipeline.

Distribuire file Bicep

È possibile usare l'attività Distribuzione gruppo di risorse di Azure o l'attività dell'interfaccia della riga di comando di Azure per distribuire un file Bicep.

Usare l'attività Distribuzione modelli di Azure Resource Manager

Nota

A partire dalla versione 3.235.0 dell'attività Distribuzione modelli di Azure Resource Manager, è supportato l'utilizzo dei file bicepparam.

Nota

L'attività AzureResourceManagerTemplateDeployment@3 richiede sia i file Bicep che i file bicepparam quando si usa bicepparam. Il file Bicep può fare riferimento a tutti i percorsi supportati per i riferimenti ai moduli. Il file bicepparam deve fare riferimento al file Bicep locale nell'istruzione using .

  1. Sostituire la pipeline iniziale con il codice YAML seguente. Crea un gruppo di risorse e distribuisce un file Bicep e bicepparam usando l'attività Distribuzione modelli di 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. Aggiornare i valori di azureServiceConnection e location.

  3. Verificare di avere un file valido main.bicep nel repository.

  4. Verificare di avere un file valido main.bicepparam nel repository che contiene un'istruzione using .

  5. Seleziona Salva. La pipeline di compilazione viene eseguita automaticamente. Tornare al riepilogo per la pipeline di compilazione e osservare lo stato.

Usare l'attività dell'interfaccia della riga di comando di Azure

Nota

Il comando az deployment group create richiede solo un file bicepparam. L'istruzione using nel file bicepparam può avere come destinazione qualsiasi percorso supportato per fare riferimento al file Bicep. Un file Bicep è necessario solo nel repository quando using da un percorso del disco locale con l'interfaccia della riga di comando di Azure.

Nota

Quando si usa un file bicepparam con il comando az deployment group create , non è possibile eseguire l'override dei parametri.

  1. Sostituire la pipeline iniziale con il codice YAML seguente. Crea un gruppo di risorse e distribuisce un file bicepparam usando un'attività dell'interfaccia della riga di comando di 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
    

    Per le descrizioni degli input dell'attività, vedere Attività dell'interfaccia della riga di comando di Azure. Quando si usa l'attività nel cloud con gapped air, è necessario impostare la useGlobalConfig proprietà dell'attività su true. Il valore predefinito è false.

  2. Aggiornare i valori di azureServiceConnection e location.

  3. Verificare di avere un file valido main.bicepparam nel repository che contiene un'istruzione using .

  4. Seleziona Salva. La pipeline di compilazione viene eseguita automaticamente. Tornare al riepilogo per la pipeline di compilazione e osservare lo stato.

Pulire le risorse

Quando le risorse di Azure non sono più necessarie, usare l'interfaccia della riga di comando di Azure o Azure PowerShell per eliminare il gruppo di risorse di avvio rapido.

az group delete --name exampleRG

Passaggi successivi