Processos / Pipelines Erros de execução ~3 min

Identificação de Erros em Pipelines de Execução

Quando o pipeline de execução principal dos projetos que contém a pasta de script gera falhas, as etapas abaixo podem auxiliar na identificação do problema.


CENÁRIO 1 - Identificando o Erro de Execução

  1. Acessar o link dos pipelines correspondentes ao projeto desejado:

  2. Identificar o pipeline com erro, pelo “X” vermelho.

    image.png

  3. Clicar sobre o pipeline. Na coluna “Stages”, clicar sobre o “X” para acessar os jobs de execução.

    2024-10-10_18h15_36.gif

  4. Visualizar o job que apresentou erro.

    Jobs comuns de apresentar falha:

    • Atualizar Bancos de Dados - PowerShell: Normalmente erros de chaves duplicadas, scripts mal formulados e, em grande parte, scripts sem a cláusula de “IfNotExist”.
    • Build Solution Plugins: Alterações na branch de execução com erros de compilação, normalmente causados por um force ou por conflitos mal resolvidos.

CENÁRIO 2 - Falhas no Job “Atualizar Bancos de Dados - PowerShell”

  1. Acessar o job e visualizar o log.

    image.png

  2. Neste exemplo, o erro foi causado por um insert que resultou em possível duplicação de chaves, onde já está registrada a chave 1278 para a tabela “plataforma.TAB_Parametro_Nivel_Configuracao”.

    image.png


CENÁRIO 3 - Identificando a Query Causadora do Problema

  1. Acessar a branch em que a execução do pipeline se baseou.

    • Neste exemplo, a branch foi a de “Teste”.

    2024-10-10_18h21_40.gif

  2. Clicar sobre a branch para acessá-la.

    2024-10-10_18h22_27.gif

    Nota: É possível acessá-la através do passo abaixo, acessando o projeto desejado.

    2024-10-10_18h23_28.gif

  3. Navegar até a pasta “Script” (por padrão, os projetos que possuem script utilizam a mesma nomenclatura).

    image.png

  4. Ao lado da pasta, existe um botão oculto de “Mais opções”. Clicar sobre ele e acionar o download da pasta.

    image.png

  5. Com o arquivo zip baixado, extrair os dados para uma pasta de destino.

    image.png

  6. Ao acessar a pasta, percorrer o caminho até a pasta “Script Global”:

    • Navegação: Scripts > Sql Server > Script Global.

    image.png

  7. Para os passos a seguir, é necessário ter o .NET Core 6 instalado na máquina: Download .NET Core 6.

  8. Executar o arquivo “GlobalScriptSql.exe”. Um CMD será aberto. Na primeira vez que for executado, normalmente a segurança do Windows alerta; basta dar a permissão.

    image.png

  9. No prompt, inserir a opção 2 e realizar a execução. Após a conclusão, será criada uma pasta no diretório atual chamada “Script”.

    image.png

    image.png

  10. Acessar a pasta e será apresentado o arquivo “globalAutomacao.sql”.

    image.png

  11. Abrir o arquivo pelo SQL Server, selecionando uma plataforma (de preferência uma que não gere muito impacto).

    image.png

  12. Executar a query e verificar onde ocorreu o erro.

    image.png

  13. Neste exemplo, como o erro é de duplicação de chave, buscar pela chave duplicada para encontrar o script.

    image.png

  14. É possível analisar que faltou a cláusula IF NOT EXISTS na query.

  15. Acima da query, onde começa por EXECUTE sp_executesql N', é possível visualizar o número da backlog e o DEV.

    image.png

  16. Ao consultar o PR atrelado à atividade, é possível visualizar o problema.

    image.png

  17. Identificado o problema, basta reportar ao desenvolvedor responsável para realizar a correção.

    Nota: Caso seja necessário atualizar o ambiente com urgência, para esse caso ou casos semelhantes, pode-se simplesmente criar um script de deleção das chaves e executar novamente o pipeline.

    Exemplo:

    image.png

    • Feito a execução em todas as bases:

    image.png

    • Basta executar novamente o pipeline.

Digite para pesquisar...

Scroll para zoom · Esc para fechar

⌨️ Atalhos de teclado
Navegação
Ctrl K Pesquisar na wiki
Ctrl F Buscar na página
? Ver atalhos
Visualização
Ctrl Shift F Modo foco
A+ / A− Tamanho da fonte
Ctrl D Alternar tema
Ações
Ctrl B Favoritar página
Esc Fechar dialogs