Solucionar problemas de falha de inicialização do pipeline

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Se o pipeline enfileirar, mas nunca iniciar, verifique os seguintes itens.

Nota

Os cenários a seguir não consumirão um trabalho paralelo:

  • Se você usar pipelines de liberação ou pipelines YAML de vários estágios, uma execução consome um trabalho paralelo somente quando está sendo implantada ativamente em um estágio. Enquanto a liberação aguarda uma aprovação ou uma intervenção manual, ela não consome um trabalho paralelo.
  • Quando você executa um trabalho de servidor ou implanta em um grupo de implantação usando pipelines de versão, não consome nenhum trabalho paralelo.

Saiba mais: Como um trabalho paralelo é consumido por um pipeline, Adicionar aprovações de pré-implantação, Trabalhos de servidor, Grupos de implantação

Limites de trabalhos paralelos – sem agentes disponíveis ou atingiu os limites gratuitos

Se você estiver executando outros pipelines, talvez não tenha nenhum trabalho paralelo restante ou tenha atingido seus limites livres.

Verificar se há trabalhos paralelos disponíveis

Nota

O Azure Pipelines desativou temporariamente a concessão gratuita automática de trabalhos paralelos hospedados pela Microsoft em novas organizações para projetos públicos e para determinados projetos privados. Se você não tiver nenhum trabalho paralelo, seus pipelines falharão com o seguinte erro: ##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request. Verifique seus trabalhos paralelos hospedados pela Microsoft, conforme descrito na seção a seguir, e se você tiver zero trabalhos paralelos, poderá solicitar uma concessão gratuita de trabalhos paralelos. Para solicitar a concessão gratuita de trabalhos paralelos para sua organização, envie uma solicitação. Por favor, aguarde 2-3 dias úteis para responder ao seu pedido de subvenção.

Para verificar seus limites, navegue até Configurações do projeto, Trabalhos paralelos.

Trabalhos simultâneos de pipelines

Se você estiver usando agentes hospedados pela Microsoft, verifique os limites de trabalho paralelos para projetos privados ou públicos hospedadospela Microsoft, dependendo se seu projeto de DevOps do Azure é um projeto privado (padrão) ou público.

Depois de analisar os limites, verifique a simultaneidade para ver quantos trabalhos estão em execução no momento e quantos estão disponíveis.

Se você estiver executando outros pipelines, talvez não tenha nenhum trabalho paralelo restante ou tenha atingido seus limites livres.

Não é possível aceder ao Azure Key Vault atrás da firewall a partir do Azure DevOps

Se não conseguir aceder ao Azure Key Vault a partir do seu pipeline, a firewall poderá estar a bloquear o endereço IP do agente dos Serviços de DevOps do Azure. Os endereços IP publicados no arquivo JSON semanal devem ser permitidos. Para obter mais informações, consulte Agentes hospedados pela Microsoft: Rede.

Não tem simultaneidade suficiente

Para verificar a quantidade de simultaneidade que você tem:

  1. Para verificar seus limites, navegue até Configurações do projeto, Trabalhos paralelos.

    Limites de pipeline simultâneos

    Você também pode acessar esta página navegando até https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobs, ou escolhendo gerenciar trabalhos paralelos nos logs.

    Gerenciar trabalhos paralelos

  2. Determine em qual pool você deseja verificar a simultaneidade (pools hospedados pela Microsoft ou auto-hospedados) e escolha Exibir trabalhos em andamento.

  3. Você verá um texto que diz Trabalhos X/X em execução. Se ambos os números forem os mesmos, os trabalhos pendentes aguardarão até que os trabalhos em execução sejam concluídos.

    Ver trabalhos em curso

    Você pode exibir todos os trabalhos, incluindo os trabalhos enfileirados, selecionando Pools de agentes nas configurações do projeto.

    Exibir trabalhos em fila

    Neste exemplo, o limite de trabalho simultâneo é um, com um trabalho em execução e um na fila. Quando todos os agentes estão ocupados executando trabalhos, como neste exemplo, a seguinte mensagem é exibida quando trabalhos adicionais são enfileirados: The agent request is not running because all potential agents are running other requests. Current position in queue: 1. Neste exemplo, o trabalho é o próximo na fila, portanto, sua posição é uma.

O seu trabalho pode estar à espera de aprovação

Seu pipeline pode não passar para o próximo estágio porque está aguardando aprovação. Para obter mais informações, consulte Definir aprovações e verificações.

Todos os agentes disponíveis estão em utilização

Os trabalhos podem esperar se todos os seus agentes estiverem ocupados no momento. Para verificar os seus agentes:

  1. Navegue para https://dev.azure.com/{org}/_settings/agentpools

  2. Selecione o pool de agentes a ser verificado, neste exemplo FabrikamPool, e escolha Agents.

    Estado do agente

    Esta página mostra todos os agentes atualmente online/offline e em uso. Você também pode adicionar agentes adicionais ao pool a partir desta página.

Exigências que não correspondem às capacidades de um agente

Se o pipeline tiver demandas que não atendam aos recursos de nenhum dos agentes, o pipeline não será iniciado. Se apenas alguns de seus agentes tiverem os recursos desejados e estiverem atualmente executando outros pipelines, seu pipeline ficará parado até que um desses agentes fique disponível.

Para verificar as capacidades e exigências especificadas para os seus agentes e pipelines, veja Capacidades.

Nota

Os recursos e as demandas geralmente são usados apenas com agentes auto-hospedados. Se seu pipeline tiver demandas que não correspondem aos recursos do sistema do agente, a menos que você tenha rotulado explicitamente os agentes com recursos correspondentes, seus pipelines não receberão um agente.

Problemas de conexão do agente do TFS

A configuração falha ao testar a conexão do agente (somente TFS local)

Testing agent connection.
VS30063: You are not authorized to access http://<SERVER>:8080/tfs

Se o erro acima for recebido durante a configuração do agente, faça logon na máquina do TFS. Inicie o gerenciador dos Serviços de Informações da Internet (IIS). Certifique-se de que a Autenticação Anónima está ativada.

a autenticação anônima do TFS está habilitada

Agente perdeu comunicação

Esse problema é caracterizado pela mensagem de erro:

The job has been abandoned because agent did not renew the lock. Ensure agent is running, not sleeping, and has not lost communication with the service.

Esse erro pode indicar que o agente perdeu a comunicação com o servidor por um período de vários minutos. Verifique o seguinte para descartar a rede ou outras interrupções na máquina do agente:

  • Verifique se as atualizações automáticas estão desativadas. Uma reinicialização da máquina a partir de uma atualização fará com que uma compilação ou versão falhe com o erro acima. Aplique atualizações de forma controlada para evitar esse tipo de interrupção. Antes de reinicializar a máquina do agente, marque o agente como desativado na página de administração do pool e deixe qualquer compilação em execução ser concluída.
  • Verifique se as configurações de suspensão estão desativadas.
  • Se o agente estiver sendo executado em uma máquina virtual, evite qualquer migração ao vivo ou outra operação de manutenção de VM que possa afetar gravemente a integridade da máquina por vários minutos.
  • Se o agente estiver sendo executado em uma máquina virtual, as mesmas recomendações de atualização do sistema operacional e recomendações de configuração de suspensão se aplicam à máquina host. E também quaisquer outras operações de manutenção que tenham impacto na máquina host.
  • O log do monitor de desempenho ou outro log de métricas de integridade pode ajudar a correlacionar esse tipo de erro à disponibilidade restrita de recursos na máquina do agente (disco, memória, arquivo de página, processador, rede).
  • Outra maneira de correlacionar o erro com problemas de rede é executar ping em um servidor indefinidamente e despejar a saída em um arquivo, juntamente com carimbos de data/hora. Use um intervalo íntegro, por exemplo, 20 ou 30 segundos. Se você estiver usando o Azure Pipelines, convém executar ping em um domínio da Internet, por exemplo, bing.com. Se você estiver usando um servidor TFS local, convém executar ping em um servidor na mesma rede.
  • Verifique se a taxa de transferência de rede da máquina é adequada. Você pode realizar um teste de velocidade on-line para verificar a taxa de transferência.
  • Se você usar um proxy, verifique se o agente está configurado para usar seu proxy. Consulte o tópico de implantação do agente.

Agente de trabalho do TFS não iniciado

Isso pode ser caracterizado por uma mensagem no console da Web "Aguardando que um agente seja solicitado". Verifique se o serviço TFSJobAgent (nome para exibição: Visual Studio Team Foundation Background Job Agent) do Windows foi iniciado.

URL de notificação mal configurado (versão do agente 1.x)

Isso pode ser caracterizado por uma mensagem no console da Web "Aguardando a saída do console de um agente", e o processo eventualmente expira.

Uma URL de notificação incompatível pode fazer com que o processo do trabalhador não consiga se conectar ao servidor. Consulte Console de Administração do Team Foundation, Camada de Aplicativo. O agente 1.x escuta a fila de mensagens usando a URL com a qual foi configurado. No entanto, quando uma mensagem de trabalho é retirada da fila, o processo de trabalho usa a URL de notificação para se comunicar de volta ao servidor.

Preciso de mais ajuda. Encontrei um bug. Tenho uma sugestão. Para onde vou?

Obtenha subscrição, faturação e suporte técnico

Denuncie quaisquer problemas ou envie comentários na Comunidade de desenvolvedores.

Agradecemos as suas sugestões: