Compartilhar via


Implantar múltiplos branches em diferentes estágios com pipelines clássicos de lançamento

Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022

Os pipelines de versão clássicos fornecem uma maneira gráfica de configurar a entrega contínua para seu aplicativo. Você pode configurar uma liberação para iniciar automaticamente quando um novo artefato estiver disponível e, depois, usar filtros de artefato para associar branches específicos a estágios específicos. Essa abordagem permite implantar cada branch no estágio que você pretende. Este artigo explica como configurar um pipeline de lançamento clássico que é implantado em diferentes estágios com base no branch de origem.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização do Azure DevOps.
- Um projeto Azure DevOps.
– Um pipeline funcional configurado para seu repositório para compilar seu projeto e gerar um artefato de pipeline. Crie um pipeline Clássico se você ainda não tiver um.

Criar um pipeline de liberação tradicional

Nesta seção, você criará o pipeline de lançamento clássico base e configurará o primeiro estágio (Desenvolvimento). Adicione uma fonte de artefato, habilite a criação automática de versão e aplique um filtro de artefato para que esse estágio seja executado somente quando o build for proveniente do branch Dev.

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

  2. Selecione Pipelines>Lançamentos.

  3. Crie um novo pipeline de lançamento clássico:

    • Se esse for o seu primeiro pipeline de lançamento, selecione Novo Pipeline.
    • Se você já tiver pipelines de lançamento, selecione Novo>Novo pipeline de lançamento.
  4. No seletor de modelo, selecione Iniciar com um trabalho vazio.

  5. Em Estágios, selecione o estágio padrão e renomeie-o para Dev. Nas próximas etapas, você configura esse estágio para implantar somente quando um artefato é produzido do branch Dev.

    Uma captura de tela exibindo como renomear um estágio em um pipeline de lançamento clássico.

  6. Em Artefatos, selecione Adicionar.

  7. Configure a origem do artefato:

    • Selecione seu tipo de origem.
    • Conclua os campos necessários para esse tipo de origem, como projeto, pipeline e versão padrão.
    • Selecione Adicionar.

    Uma captura de tela que mostra como adicionar um artefato a um pipeline de lançamento clássico.

  8. Selecione o ícone de gatilho de implantação contínua no artefato e ative o gatilho de implantação contínua para criar uma versão sempre que um novo artefato estiver disponível.

    Uma captura de tela que mostra como habilitar o gatilho de implantação contínua em um pipeline de release clássico.

  9. No estágio Dev, selecione o ícone de Condições de Pré-implantação.

  10. Defina o gatilho de implantação como Após a versão para que o estágio seja iniciado automaticamente sempre que uma nova versão for criada.

  11. Ainda em condições de pré-implantação, configure a filtragem baseada em ramos:

    • Ative os filtros do Artefato.
    • Selecione Adicionar.
    • Selecione o artefato que você adicionou anteriormente.
    • Defina Build branch como Dev.

    Com esse filtro em vigor, o estágio Dev é implantado somente quando a versão é criada a partir de um build do branch Dev.

    Um screenshot mostrando como configurar as condições de pré-implantação em um pipeline de lançamento clássico.

Adicionar um novo estágio

Nesta seção, você adicionará um segundo estágio (Prod) ao mesmo pipeline de liberação e o configurará para implantar apenas quando os artefatos forem criados a partir do ramo main. Isso permite manter o roteamento branch para estágio consistente entre ambientes.

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

  2. Selecione Pipelines>Lançamentos, abra o pipeline de lançamento que você criou anteriormente e selecione Editar.

  3. Em Estágios, selecione Adicionar>Novo estágio.

  4. No seletor de modelo, selecione Iniciar com um trabalho vazio.

  5. Selecione o novo estágio e renomeie-o para Prod. Nas próximas etapas, você configurará esse estágio para que ele seja implantado somente quando o artefato for proveniente do branch principal .

  6. No estágio Prod, selecione o ícone Condições de Pré-Implantação.

  7. Defina o gatilho de implantação como Após a versão para que esse estágio possa ser iniciado automaticamente quando uma nova versão for criada.

  8. Ainda em condições de pré-implantação, configure a filtragem baseada em ramo para produção:

    • Ative os filtros do Artefato.
    • Selecione Adicionar.
    • Selecione a mesma fonte de artefato que você configurou anteriormente.
    • Defina o branch build como principal.

    Com esse filtro em vigor, o estágio Prod é implantado somente quando a versão é criada a partir de uma compilação do ramo main.

    Uma captura de tela mostrando como configurar condições de pré-implantação para o estágio de produção em um pipeline de lançamento clássico.

Implantar em uma fase específica

Neste ponto, seu pipeline de lançamento está configurado para direcionar implantações por ramificação: artefatos da ramificação Dev são implantados na fase Dev e artefatos da ramificação main são implantados na fase Prod. Use as verificações a seguir para validar se os filtros de branch estão funcionando conforme o esperado.

  1. Acione uma build a partir do branch Dev para que uma nova versão do artefato seja publicada.

  2. Abra Pipelines>Versionamentos e, em seguida, abra o lançamento recém-criado.

  3. Verifique se o estágio Dev é iniciado (ou está na fila) e se o estágio Prod é ignorado porque o branch de artefatos não corresponde ao filtro.

  4. Acione um segundo build do branch main.

  5. Abra a nova versão e verifique o comportamento oposto: o estágio Prod é iniciado e o estágio Dev é ignorado.

  6. Se um estágio não se comportar conforme o esperado, abra as condições de pré-implantação desse estágio e confirme o valor do branch dos filtros de artefato e a origem do artefato selecionado.

Ao validar os dois caminhos de ramificação, você pode confirmar que cada ambiente é implantado apenas do branch destinado a esse estágio.