Fases paralelas em Azure DevOps pipelines de versão

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Fases paralelas em um pipeline de versão agora são processados simultaneamente e exibidos em DevOps IU do pipeline em tempo real. As condições de pré-implantação do sistema de base e as portas de versão permitem que você crie solicitações de mudança que incluem detalhes de fases paralelas.

    Suporte de fase paralela do sistema de base para Azure DevOps

    As organizações usam fases paralelas para automatizar e acelerar os processos de versão para tarefas que podem ser executadas em paralelo. Por exemplo, um pipeline de versão integrou várias ferramentas de teste e qualidade de software e tem trabalhos configurados para serem executados em paralelo. Não executar cada trabalho sequencialmente acelera significativamente a execução do pipeline de versão.

    ServiceNow DevOps o oferece suporte ao processamento de fases paralelas em pipelines de versão e exibe as fases em uma exibição paralela no DevOps IU do pipeline. Efetivamente, o. DevOps A IU do pipeline replica o. Azure DevOps GUI em tempo real.

    Você também pode ver os detalhes das fases processadas na IU do pipeline.
    Importante:
    O suporte para fases paralelas é restrito a pipelines de versão. Os pipelines de compilação continuam a aparecer de maneira sequencial ou serial no DevOps IU do pipeline, mesmo se as fases paralelas estiverem configuradas para criar pipelines no Azure DevOps.
    Figura 1. Pipeline ADO com fases paralelas
    Pipeline ADO com fases paralelas
    Pipeline ADO de amostra com fases paralelas
    pipeline {
        agent any
    
        stages {
            stage('Build') {
                steps { 
                    echo 'Building...'
                    // Your build steps here
                }
            }
    
            stage('Test') {
                parallel {
                    stage('Unit Tests') {
                        steps {
                            echo 'Running unit tests...'
                            // Your unit test steps here
                        }
                    }
                    stage('Integration Tests') {
                        steps {
                            echo 'Running integration tests...'
                            // Your integration test steps here
                        }
                    }
                    stage('Additional Tests') {
                        steps {
                            script {
                                parallel(
                                    'Nested Stage 1': {
                                        echo 'Running nested parallel stage 1...'
                                        // Your nested parallel stage 1 steps here
                                    },
                                    'Nested Stage 2': {
                                        echo 'Running nested parallel stage 2...'
                                        // Your nested parallel stage 2 steps here
                                    }
                                )
                            }
                        }
                    }
                }
            }
    
            stage('Deploy') {
                steps {
                    echo 'Deploying...'
                    snDevOpsChange changeRequestDetails: '{ "attributes": {"chg_model": "e55d0bfec343101035ae3f52c1d3ae49","standard_change_template"="563504cc47410200e90d87e8dee490e2"},"autoCloseChange": false}',changeStepTimeOut: 18000, pollingInterval: 60
                    // Your deploy steps here
                }
            }
        }
    }
    

    ServiceNow® DevOps Gate de versão em condições de pré-implantação para criar solicitações de mudança

    . sistema-base ServiceNow DevOps O Gate de lançamento é adicionado junto com as condições de pré-implantação. Habilitar portas de implantação do sistema de base configuradas para chamar o. ServiceNow AI Platform para criar uma solicitação de mudança antes da fase implantar na produção. As solicitações de mudança agora são criadas depois que todas as fases anteriores (ascendentes) concluem o processamento. A solicitação de mudança captura detalhes relevantes de todas as fases ascendentes e os exibe nas listas relacionadas correspondentes a seguir.
    • Confirmar
    • Itens de trabalho
    • Resumos do teste
    • Resumo da qualidade do software
    • Versões do Artefato

    Depois que a execução do pipeline conclui o processamento das fases paralelas que precedem a fase de implantação de produção, uma solicitação de mudança é criada automaticamente e mapeada para a fase Implantação para produção na exibição Execuções de pipeline. A fase de produção conclui o processamento depois que a solicitação de mudança é aprovada.

    Em Execução de pipeline exibição do pipeline relevante, clique em IU do pipeline link relacionado para exibir o estado em tempo real do pipeline conforme ele aparece Azure DevOps. Os detalhes do artefato associado que são originados dos resultados do pipeline de compilação, Resultados de teste, Resumo de qualidade de software são exibidos na IU do pipeline.

    Sequência de criação de mudança para trabalhos paralelos

    As informações de trabalho do Azure são recebidas na ServiceNow nos seguintes horários:

    1. Após a conclusão de uma fase.
    2. Quando a etapa registrar-mudança é executada.

    O Azure fornece informações de trabalho sequencialmente com base no tempo na fila de trabalhos, apesar dos trabalhos potencialmente serem executados em paralelo. Consequentemente, se a etapa register-change for executada enquanto um trabalho paralelo enfileirado anteriormente permanecer inacabado, o sistema assumirá que o trabalho paralelo é uma tarefa ascendente, fazendo com que o processo de criação de mudança aguarde sua conclusão. No entanto, as notificações de conclusão de fase não são recebidas até que todos os trabalhos, incluindo o trabalho registrar-mudar, sejam concluídos.

    Isso cria um cenário de deadlock em que o processo de mudança na ServiceNow aguarda a conclusão do trabalho paralelo, enquanto o trabalho paralelo aguarda a notificação de conclusão da fase, que, por sua vez, aguarda a conclusão do trabalho de mudança de registro.

    Devido a esse bloqueio, no momento em que a mudança é criada, o trabalho de pipeline do Azure já falhou, levando ao erro 500 na API de evento. Reexecutar o trabalho resolve o problema, pois os trabalhos paralelos enfileirados anteriormente são marcados como concluídos.

    Considerações de upgrade

    Revise as considerações a seguir antes de fazer upgrade.
    Importante:
    Uma solicitação de mudança não deve existir em uma fase que contém trabalhos paralelos.
    • . Execução ascendente A coluna na tabela Execuções de tarefas não é exibida para novas instalações. Todas as personalizações que você fez usando Execução ascendente as colunas anteriores ao upgrade não são afetadas.
    • Se as fases estiverem sendo executadas em paralelo, uma solicitação de mudança não deverá ser o primeiro trabalho em nenhuma fase.
    • Após o upgrade, as execuções do pipeline da nova versão processam fases paralelas simultaneamente e exibem fases paralelas e detalhes associados na IU do pipeline. Azure DevOps pipelines de versão que já foram executados e armazenados em ServiceNow DevOps antes do upgrade, permanecem inalterados e continuam a exibir fases paralelas (que já foram executadas e persistidas) em ServiceNow DevOps em série.
    • Se a pré-implantação ServiceNow DevOps o portão da versão está habilitado em mais de uma fase inicial em um pipeline de versão com várias fases iniciais. isso pode resultar em várias execuções de pipeline.
    Nota:
    Um pacote é criado para cada fase inicial, mas qualquer pacote é associado por execução de pipeline.