Guia de início rápido: integrar o Bicep ao Azure Pipelines

Este guia de início rápido mostra como integrar arquivos Bicep com o Azure Pipelines para integração contínua e implantação contínua (CI/CD).

Ele fornece uma breve introdução à tarefa de pipeline que você precisa para implantar um arquivo Bicep. Se você quiser etapas mais detalhadas sobre como configurar o pipeline e o projeto, consulte Implantar recursos do Azure usando o Bicep e o Azure Pipelines.

Pré-requisitos

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Você precisa de uma organização do Azure DevOps. Se você não tiver um, crie um gratuitamente. Se sua equipe já tiver uma organização de DevOps do Azure, verifique se você é um administrador do projeto de DevOps do Azure que deseja usar.

Você precisa ter configurado uma conexão de serviço para sua assinatura do Azure. As tarefas no pipeline são executadas sob a identidade da entidade de serviço. Para conhecer as etapas para criar a conexão, consulte Criar um projeto de DevOps.

Você precisa de um arquivo Bicep que defina a infraestrutura para seu projeto. Este arquivo está em um repositório.

Você precisa de um arquivo bicepparam que defina os parâmetros usados pelo seu arquivo bíceps. Este arquivo está em um repositório.

Criar pipeline

  1. Na sua organização do Azure DevOps, selecione Pipelines e Create pipeline.

    Captura de tela da criação de um novo pipeline.

  2. Especifique onde o código está armazenado. Este guia de início rápido usa o Azure Repos Git.

    Captura de tela da seleção da fonte do código.

  3. Selecione o repositório que tem o código para o seu projeto.

    Captura de tela da seleção do repositório.

  4. Selecione Pipeline inicial para o tipo de pipeline a ser criado.

    Captura de tela da seleção de pipeline.

Implantar arquivos Bicep

Você pode usar a tarefa Implantação do Grupo de Recursos do Azure ou a tarefa da CLI do Azure para implantar um arquivo Bicep.

Usar a tarefa de Implantação de Modelo do Azure Resource Manager

Nota

A partir da versão 3.235.0 da tarefa de Implantação de Modelo do Azure Resource Manager, o uso de arquivos bicepparam é suportado.

Nota

A AzureResourceManagerTemplateDeployment@3 tarefa requer que os arquivos Bicep e bicepparam sejam fornecidos ao usar o bicepparam. O arquivo Bicep pode fazer referência a todos os locais suportados para referências de módulo. O arquivo bicepparam deve fazer referência ao using arquivo Bicep local na instrução.

  1. Substitua seu pipeline inicial pelo seguinte YAML. Ele cria um grupo de recursos e implanta um arquivo Bicep e bicepparam usando a tarefa Implantação de Modelo do 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. Atualize os valores de azureServiceConnection e location.

  3. Verifique se você tem um arquivo válido main.bicep em seu repositório.

  4. Verifique se você tem um arquivo válido main.bicepparam em seu repositório que contém uma instrução using .

  5. Selecione Guardar. O pipeline de compilação é executado automaticamente. Volte para o resumo do pipeline de compilação e observe o status.

Usar a tarefa CLI do Azure

Nota

O comando az deployment group create requer apenas um arquivo bicepparam. A using instrução no arquivo bicepparam pode direcionar qualquer local suportado para fazer referência ao arquivo Bicep. Um arquivo Bicep só é necessário em seu repositório quando using de um caminho de disco local com a CLI do Azure.

Nota

Quando você usa um arquivo bicepparam com o comando az deployment group create , não é possível substituir parâmetros.

  1. Substitua seu pipeline inicial pelo seguinte YAML. Ele cria um grupo de recursos e implanta um arquivo bicepparam usando uma tarefa da CLI do 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 obter as descrições das entradas de tarefa, consulte Tarefa da CLI do Azure. Ao usar a tarefa na nuvem air-gaped, você deve definir a useGlobalConfig propriedade da tarefa como true. O valor predefinido é false.

  2. Atualize os valores de azureServiceConnection e location.

  3. Verifique se você tem um arquivo válido main.bicepparam em seu repositório que contém uma instrução using .

  4. Selecione Guardar. O pipeline de compilação é executado automaticamente. Volte para o resumo do pipeline de compilação e observe o status.

Clean up resources (Limpar recursos)

Quando os recursos do Azure não forem mais necessários, use a CLI do Azure ou o Azure PowerShell para excluir o grupo de recursos de início rápido.

az group delete --name exampleRG

Próximos passos