Sobes.tech
Middle+

Como determinar qual branch não passou na build se eu não tenho informações sobre a build?

sobes.tech IA

Resposta da IA

Com informações limitadas, podem ser utilizados métodos indiretos:

  1. Análise dos logs de compilação do sistema: Se tiver acesso aos logs de CI/CD (por exemplo, Jenkins, GitLab CI, GitHub Actions), eles contêm informações sobre as execuções de compilação, incluindo branches e estados.
  2. Verificação dos últimos commits nas branches: Pode percorrer manualmente as branches principais (main, dev) e verificar os últimos commits. É possível que algum commit contenha um link para uma compilação incompleta ou falhada.
  3. Revisão de pedidos pull/merge: Frequentemente, as compilações são iniciadas ao criar PR/MR. Revisar esses pedidos pode identificar uma branch com uma compilação falhada.
  4. Verificação do estado das branches no sistema de controlo de versões: Na interface do GitLab/GitHub/Bitbucket, muitas vezes é exibido o estado da última compilação para cada branch.

Exemplo de análise de logs do GitLab CI usando grep:

# Verificar os logs last_pipeline.log em busca de compilations falhadas nas branches
grep 'status: failed' last_pipeline.log | grep 'ref:'

Exemplo de verificação do estado das branches via Git:

# Obter a lista de todas as branches locais
git branch

# Mudar para a branch potencialmente problemática (por exemplo, feature/new-feature)
# e procurar menções de compilação nos logs de commits
git checkout feature/new-feature
git log --grep="build failed"

Tabela com possíveis fontes de informação:

Fonte Vantagens Desvantagens
Logs de CI/CD Informação precisa sobre o estado e a branch Requer acesso aos logs
Mensagens de commit Pode conter menções explícitas à compilação Nem sempre é informativo
Pedidos pull/merge Associação explícita entre branch e compilação A compilação pode ter passado, mas o PR/MR não foi fechado
Estado das branches no VCS Visão rápida Pode não mostrar toda a história de compilação