Compiçar várias branches no Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Usando o Azure Pipelines, você pode criar gatilhos para construir seu projeto a cada novo commit e pull request no seu repositório. Neste artigo, você aprenderá a habilitar a integração contínua e a configurar vários builds de branch para seu repositório.

Pré-requisitos

Habilitar um gatilho de CI para uma branch de tópico

Ao trabalhar com o Git, é uma prática comum criar branches temporárias a partir da branch principal para facilitar um fluxo de trabalho simplificado. Essas branches, muitas vezes chamadas de branches de tópicos ou recursos, tem a finalidade de isolar seu trabalho. Nesse fluxo de trabalho, você cria uma branch dedicada a um recurso específico ou correção de bug e, depois de concluída, faz merge do código de volta à branch principal antes de excluir a branch de tópico.

Se nenhum gatilho for explicitamente especificado no arquivo YAML, quaisquer alterações feitas em qualquer branch acionarão uma execução. Para adicionar gatilhos para a branch principal e qualquer branche feature/, inclua o seguinte trecho no arquivo YAML. Isso garantirá que quaisquer modificações feitas nessas branches acionem automaticamente uma execução de pipeline.

trigger:
- main
- feature/*

Os builds do YAML ainda não estão disponíveis no TFS.

Personalizar tarefas de compilação com base na branch que está sendo criada

A branch principal geralmente é responsável pela geração de artefatos implantáveis, como binários. Para branches de recursos de curta duração, não há necessidade de investir tempo na criação e no armazenamento desses artefatos. No Azure Pipelines, você pode implementar condições personalizadas para garantir que tarefas específicas sejam executadas somente na branch principal.

Edite o arquivo azure-pipelines.yml na branch principal e adicione uma condição à tarefa desejada. Por exemplo, o snippet a seguir adiciona uma condição para a tarefa Publicar artefatos de pipeline.

- task: PublishPipelineArtifact@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))

Os builds do YAML ainda não estão disponíveis no TFS.

Validar solicitações de pull

Para garantir a proteção da branch, você pode utilizar políticas que exigem builds bem-sucedidas antes de mesclar pull requests. Usando o Azure Pipelines, você tem a flexibilidade de configurar o requisito de uma nova compilação bem-sucedida para mesclar alterações em branches essenciais, como a branch principal.

Repositório GitHub

Se você não definir explicitamente gatilhos pr no seu arquivo YAML, as builds de pull requests serão habilitadas por padrão para todas as branches. No entanto, você tem a flexibilidade de especificar as branches de destino para suas builds de pull requests. Por exemplo, se quiser executar o build exclusivamente para pull requests direcionadas à branch principal e a branches começando com feature/, especifique a seguinte configuração:

pr:
- main
- feature/*

Os builds do YAML ainda não estão disponíveis no TFS.

Repositório do Azure Repos

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Repositórios e depois Branches.

  3. Selecione o ícone de reticências à direita do nome da branch e, em seguida, selecione Políticas da branch.

  4. No menu Validação do build, selecione o sinal + para adicionar uma política de compilação.

  5. Selecione seu Pipeline de build no menu suspenso e certifique-se de que Gatilho esteja definido como automático e que Requisito de política esteja definido como obrigatório.

  6. Insira um Nome de exibição descritivo para descrever a política.

  7. Selecione Salvar para criar e habilitar a política. Selecione Salvar alterações na parte superior esquerda da tela para salvar suas alterações.

Uma captura de tela mostrando como adicionar uma nova política de build.

  1. Para testar a política, navegue até Repositórios>Pull requests no portal do Azure DevOps.

  2. Selecione Nova pull request e verifique se a branch do tópico está definida como merge na branch principal e, em seguida, selecione Criar.

  3. Na tela, você pode ver a política atualmente em execução.

  4. Selecione o nome da política para examinar o build. Se o build for bem-sucedido, sua pull request será mesclada. Se o build falhar, o merge será bloqueado.

Observação

O Azure Pipelines não dá mais suporte a políticas de retenção por pipeline. É recomendável usar regras de retenção no nível do projeto.