Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Ele fornece uma breve introdução à tarefa de pipeline que você precisa para implantar um arquivo Bicep.
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Você também 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 à sua assinatura do Azure. As tarefas no pipeline são executadas usando 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 o seu projeto. Este arquivo está em um repositório.
Você precisa de um arquivo '.bicepparam' que define os parâmetros que o seu arquivo Bicep usa. Este arquivo está em um repositório.
Criar canalização
Na sua organização do Azure DevOps, selecione Pipelines e Criar pipeline.
Especifique onde o código está armazenado. Este guia de início rápido usa repositórios Git do Repositórios do Azure.
Selecione o repositório que tem o código para o seu projeto.
Selecione pipeline inicial para o tipo de pipeline a ser criado.
Implantar arquivos Bicep
Pode implementar um ficheiro Bicep usando a tarefa Bicep Deploy, a tarefa de implementação do modelo Azure Resource Manager ou uma tarefa CLI do Azure. A tarefa Bicep Deploy é a opção recomendada para novos pipelines.
Usar a tarefa de implementação do Bicep
A tarefa Bicep Deploy (BicepDeploy@0) é uma tarefa de primeira parte criada especificamente para o Bicep. Implementa os ficheiros .bicep e .bicepparam diretamente, sem os pré-compilar em modelos ARM JSON, e transfere automaticamente e armazena em cache a CLI do Bicep. A tarefa suporta:
- Implementações padrão nos escopos de grupo de recursos, subscrição, grupo de gestão e inquilino.
- Pilhas de implementação, incluindo configurações de negação e ações em recursos não geridos, para que possa gerir uma coleção de recursos como uma única unidade.
- Operações hipotéticas para pré-visualizar alterações antes de as aplicar.
- Validação de modelos de Bicep antes da implementação.
- Mascaramento de saída para saídas sensíveis como segredos e cadeias de ligação.
A tarefa corre num agente Azure Pipelines — a infraestrutura informática com software agente instalado que executa os seus trabalhos de pipeline — e requer a versão 2.144.0 ou posterior do software agente. Os agentes alojados na Microsoft são mantidos automaticamente atualizados e cumprem sempre este requisito. Se executares a tarefa num agente auto-hospedado, certifica-te de que o agente está na versão 2.144.0 ou posterior.
Implantar um ficheiro Bicep
Substitua o seu pipeline inicial pelo seguinte código YAML. Utiliza a tarefa Bicep Deploy para implementar um ficheiro Bicep e
.bicepparampara um grupo de recursos existente.trigger: - main name: Deploy Bicep files parameters: - name: azureServiceConnection type: string default: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' subscriptionId: '<your-subscription-id>' resourceGroupName: 'exampleRG' templateFile: './main.bicep' parametersFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: BicepDeploy@0 inputs: azureResourceManagerConnection: '${{ parameters.azureServiceConnection }}' type: 'deployment' operation: 'create' scope: 'resourceGroup' subscriptionId: '$(subscriptionId)' resourceGroupName: '$(resourceGroupName)' name: 'DeployPipelineTemplate' templateFile: '$(templateFile)' parametersFile: '$(parametersFile)'Atualize os valores de
azureServiceConnection,subscriptionId, eresourceGroupName.Verifique se você tem um arquivo de
main.bicepválido em seu repositório.Verifique se você tem um arquivo de
main.bicepparamválido em seu repositório que contenha uma instruçãousing.Verifica se o grupo de recursos alvo já existe. A tarefa Bicep Deploy coloca recursos num grupo de recursos existente no
resourceGroupâmbito; não cria o grupo de recursos para si.Selecione Guardar. O pipeline de compilação é executado automaticamente. Volte para o resumo da linha de produção e observe o estado.
Para obter a lista completa dos parâmetros da tarefa, consulte a referência da tarefa Bicep Deploy.
Implementar uma stack de implementação
Para gerir os seus recursos como uma pilha de implementação em vez de uma implementação padrão, defina type e deploymentStack forneça as entradas da pilha de implementação. O passo seguinte cria ou atualiza uma stack de implementação, elimina os recursos que tenham sido removidos do modelo e bloqueia operações de escrita e eliminação fora de banda nos recursos geridos:
steps:
- task: BicepDeploy@0
inputs:
azureResourceManagerConnection: '${{ parameters.azureServiceConnection }}'
type: 'deploymentStack'
operation: 'create'
name: 'production-stack'
scope: 'resourceGroup'
subscriptionId: '$(subscriptionId)'
resourceGroupName: '$(resourceGroupName)'
templateFile: '$(templateFile)'
parametersFile: '$(parametersFile)'
actionOnUnmanageResources: 'delete'
denySettingsMode: 'denyWriteAndDelete'
Para pré-visualizar as alterações que uma stack de implementação introduz antes de as aplicar, defina operation como whatIf. Para obter mais informações sobre a operação what-if, consulte Pré-visualizar alterações com what-if.
Utilize a tarefa de implantação do modelo do Azure Resource Manager
Observação
A partir da versão 3.235.0 da tarefa de implantação de modelo do Azure Resource Manager, é suportada a utilização de ficheiros '.bicepparam'.
Observação
A tarefa AzureResourceManagerTemplateDeployment@3 requer que os arquivos Bicep e .bicepparam sejam fornecidos ao usar .bicepparam. O arquivo Bicep pode fazer referência a todos os locais suportados para referências aos módulos. O arquivo .bicepparam deve fazer referência ao arquivo Bicep local na instrução using.
Substitua o seu pipeline inicial pelo seguinte código YAML. Ele usa a tarefa de implantação de modelo do Azure Resource Manager para criar um grupo de recursos e implantar um arquivo Bicep e
.bicepparam.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' 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' connectedServiceName: '${{ parameters.azureServiceConnection }}'Atualize os valores de
azureServiceConnectionelocation.Verifique se você tem um arquivo de
main.bicepválido em seu repositório.Verifique se você tem um arquivo de
main.bicepparamválido em seu repositório que contenha uma instruçãousing.Selecione Guardar. O pipeline de compilação é executado automaticamente. Volte para o resumo da linha de produção e observe o estado.
Usar a tarefa CLI do Azure
Observação
O comando az deployment group create requer apenas um arquivo bicepparam.. A instrução using 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.
Observação
Quando você usa um arquivo .bicepparam com o comando az deployment group create, não pode substituir parâmetros.
Substitua o seu pipeline inicial pelo seguinte código YAML. Ele cria um grupo de recursos e implanta um arquivo de
.bicepparamusando uma tarefa de 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 DeployPipelineTemplatePara obter as descrições das entradas das tarefas, consulte a tarefa da CLI do Azure v2. Ao usar a tarefa na nuvem air-gaped, você deve definir a propriedade
useGlobalConfigda tarefa comotrue. O valor predefinido éfalse.Atualize os valores de
azureServiceConnectionelocation.Verifique se você tem um arquivo de
main.bicepparamválido em seu repositório que contenha uma instruçãousing.Selecione Guardar. O pipeline de compilação é executado automaticamente. Volte para o resumo da linha de produção e observe o estado.
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.
- da CLI do Azure
- Azure PowerShell
az group delete --name exampleRG