Início Rápido: Integrar o Bicep ao Azure Pipelines

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

Ele apresenta uma breve introdução à tarefa de pipeline de que você precisa para implantar um arquivo Bicep. Para conhecer etapas mais detalhadas para configurar o pipeline e o projeto, confira Implantar recursos do Azure usando Bicep e Azure Pipelines.

Pré-requisitos

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

Você precisa de uma organização do Azure DevOps. Caso não tenha uma, crie uma gratuitamente. Se sua equipe já tiver uma organização do Azure DevOps, verifique se você é um administrador do projeto do Azure DevOps 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 obter as etapas para criar a conexão, consulte Criar um projeto DevOps.

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

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

Criar um pipeline

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

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

  2. Especifique o local em que seu código está armazenado. Este início rápido usa Azure Repos Git.

    Captura de tela de como selecionar o código fonte.

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

    Captura de tela da seleção de 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 de Implantação do Grupo de Recursos do Azure ou a tarefa da CLI do Azure para implantar um arquivo Bicep.

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

Observação

A partir da versão 3.235.0 da tarefa Azure Resource Manager Template Deployment, há suporte para o uso de arquivos bicepparam.

Observação

A tarefa AzureResourceManagerTemplateDeployment@3 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 arquivo Bicep local na instrução using.

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

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

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

  5. Selecione Salvar. O pipeline de build é executado automaticamente. Volte para o resumo do pipeline de build e veja o status.

Usar uma tarefa da CLI do Azure

Observação

O comando az Deployment Group Create requer apenas um arquivo bicepparam. A instrução using no arquivo bicepparam pode ter como destino qualquer local compatível para fazer referência ao arquivo Bicep. Um arquivo Bicep só é necessário em seu repositório quando using proveniente de um caminho de disco local com a CLI do Azure.

Observação

Ao usar um arquivo bicepparam com o comando az Deployment Group Create, você não pode substituir parâmetros.

  1. Substitua seu pipeline inicial pelo YAML a seguir. Ele cria um grupo de recursos e implanta um arquivo bicepparam usando uma tarefa 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 da tarefa, confira a Tarefa da CLI do Azure. Ao usar a tarefa em uma nuvem desconectada, você precisa definir a propriedade useGlobalConfig da tarefa como true. O valor padrão é false.

  2. Atualizar os valores de azureServiceConnection e location.

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

  4. Selecione Salvar. O pipeline de build é executado automaticamente. Volte para o resumo do pipeline de build e veja o status.

Limpar os 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óximas etapas