Criar e gerenciar pools de agentes

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018

Observação

Em Microsoft Team Foundation Server (TFS) 2018 e versões anteriores, pipelines de build e versão são chamados de definições, execuções são chamadas de builds, conexões de serviço são chamadas de pontos de extremidade de serviço, estágios são chamados de ambientes e trabalhos são chamados de fases.

Um pool de agentes é uma coleção de agentes. Em vez de gerenciar cada agente individualmente, você organiza agentes em pools de agentes. No TFS, os pools têm escopo para todo o servidor; para que você possa compartilhar um pool de agentes entre coleções de projetos e projetos.

Uma fila de agentes fornece acesso a um pool de agentes dentro de um projeto. Ao criar um pipeline de build ou lançamento, especifique qual fila ele usa. As filas têm o escopo do projeto no TFS 2017 e mais recente, portanto, você só pode usá-las em pipelines de build e lançamento em um projeto.

Para compartilhar um pool de agentes com vários projetos, em cada um desses projetos, você cria uma fila de agente apontando para o mesmo pool de agentes. Embora várias filas entre projetos possam usar o mesmo pool de agentes, várias filas dentro de um projeto não podem usar o mesmo pool de agentes. Além disso, cada fila de agente pode usar apenas um pool de agentes.

Arquitetura do sistema de build TFS 2017 e TFS 2018

Um pool de agentes é uma coleção de agentes. Em vez de gerenciar cada agente individualmente, você organiza agentes em pools de agentes. Quando você configura um agente, ele é registrado com um único pool e, quando você cria um pipeline, especifica o pool no qual o pipeline é executado. Quando você executa o pipeline, ele é executado em um agente desse pool que atende às demandas do pipeline.

No Azure Pipelines, os pools têm escopo para toda a organização; para que você possa compartilhar os computadores do agente entre projetos.

Em Azure DevOps Server, os pools de agentes têm escopo para todo o servidor; portanto, você pode compartilhar os computadores do agente entre projetos e coleções.

Observação

Os trabalhos do pool de agentes executam um trabalho em um único agente. Se você precisar executar um trabalho em todos os agentes, como um grupo de implantação para pipelines de lançamento clássicos, consulte Grupos de implantação provisionar.

Você cria e gerencia pools de agentes na guia pools de agentes nas configurações de administrador.

Se você for um administrador da organização, crie e gerencie pools de agentes na guia pools de agentes nas configurações de administrador.

  1. Escolha o Azure DevOps, configurações da organização.

    Escolha as configurações da organização.

  2. Escolha pools do Agente.

    Escolha a guia Pools do Agente.

  1. Escolha Azure DevOps, configurações de coleção.

    Escolha as configurações de Coleção.

  2. Escolha pools do Agente.

    Escolha pools do Agente.

  1. Escolha Azure DevOps, configurações de coleção.

    Configurações de coleção, 2019.

  2. Escolha pools do Agente.

    Escolha pools do Agente, 2019.

  1. Navegue até o projeto e escolha Configurações (ícone de engrenagem) >Filas do Agente.

    Escolha Configurações, Filas do Agente, 2018.

  2. Escolha Gerenciar pools.

    Escolha Gerenciar pools, 2018.

Você cria e gerencia filas de agente na guia filas do agente nas configurações do projeto.

Se você for um membro da equipe de projeto, crie e gerencie filas de agente na guia pools de agentes nas configurações do projeto.

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até seu projeto e escolha configurações de projeto, pools do Agente (2020).

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até seu projeto e escolha configurações de projeto, pools do Agente (2019).

Navegue até o projeto e escolha Configurações (ícone de engrenagem) >Filas do Agente.

Escolha configurações, Filas do Agente, TFS 2018.

Pools de agentes padrão

Os seguintes pools de agentes são fornecidos por padrão:

  • O Azure Pipelines hospeda o pool com várias imagens do Windows, Linux e macOS. Para obter uma lista completa das imagens disponíveis e seu software instalado, consulte agentes hospedados pela Microsoft.

    Observação

    O pool hospedado do Azure Pipelines substitui os pools hospedados anteriores que tinham nomes mapeados para as imagens correspondentes. Todos os trabalhos que você teve nos pools hospedados anteriores são redirecionados automaticamente para a imagem correta no novo pool hospedado do Azure Pipelines. Em algumas circunstâncias, você ainda pode ver os nomes de pool antigos, mas nos bastidores os trabalhos hospedados são executados usando o pool do Azure Pipelines. Para obter mais informações, consulte as notas de versão do pool hospedado único das notas de versão de 1º de julho de 2019 – Sprint 154.

Por padrão, todos os colaboradores em um projeto são membros da função Usuário em pools hospedados. Isso permite que todos os colaboradores de um projeto criem e executem pipelines usando agentes hospedados pela Microsoft.

Designar um pool em seu pipeline

Há suporte para pipelines YAML no Azure DevOps Server 2019 e superior.

Para escolher um agente hospedado pela Microsoft no pool do Azure Pipelines em sua Azure DevOps Services pipeline YAML, especifique o nome da imagem usando o Rótulo de Imagem da VM YAMLdesta tabela.

pool:
  vmImage: ubuntu-latest # This is the default if you don't specify a pool or vmImage.

Para usar um pool privado sem demandas:

pool: MyPool

Para obter mais informações, consulte o esquema YAML para pools.

Gerenciar pools e filas

Você cria e gerencia pools de agentes na guia pools de agentes nas configurações de administrador.

Se você for um administrador da organização, crie e gerencie pools de agentes na guia pools de agentes nas configurações de administrador.

  1. Escolha o Azure DevOps, configurações da organização.

    Escolha as configurações da organização.

  2. Escolha pools do Agente.

    Escolha a guia Pools do Agente.

  1. Escolha Azure DevOps, configurações de coleção.

    Escolha as configurações de Coleção.

  2. Escolha pools do Agente.

    Escolha pools do Agente.

  1. Escolha Azure DevOps, configurações de coleção.

    Configurações de coleção, 2019.

  2. Escolha pools do Agente.

    Escolha pools do Agente, 2019.

  1. Navegue até o projeto e escolha Configurações (ícone de engrenagem) >Filas do Agente.

    Escolha Configurações, Filas do Agente, 2018.

  2. Escolha Gerenciar pools.

    Escolha Gerenciar pools, 2018.

Você cria e gerencia filas de agente na guia filas do agente nas configurações do projeto.

Se você for um membro da equipe de projeto, crie e gerencie filas de agente na guia pools de agentes nas configurações do projeto.

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até seu projeto e escolha configurações de projeto, pools do Agente (2020).

Navegue até o projeto e escolha as configurações do Projeto, pools do Agente.

Navegue até seu projeto e escolha configurações de projeto, pools do Agente (2019).

Navegue até o projeto e escolha Configurações (ícone de engrenagem) >Filas do Agente.

Escolha configurações, Filas do Agente, TFS 2018.

Os pools são usados para executar trabalhos. Saiba mais sobre como especificar pools para trabalhos.

Se você tiver muitos agentes auto-hospedados destinados a equipes ou finalidades diferentes, talvez você queira criar pools adicionais, conforme explicado abaixo.

Criar pools de agentes

Aqui estão algumas situações típicas em que talvez você queira criar pools de agentes auto-hospedados:

  • Você é membro de um projeto e deseja usar um conjunto de computadores pertencentes à sua equipe para executar trabalhos de build e implantação. Primeiro, verifique se você tem as permissões para criar pools em seu projeto selecionando Segurança na página de pools do agente nas configurações do projeto. Você deve ter a função administrador para poder criar novos pools. Em seguida, selecione Adicionar pool e selecione a opção para criar um novo pool no nível da organização. Por fim , instale e configure agentes para fazer parte desse pool de agentes.

  • Você é membro da equipe de infraestrutura e gostaria de configurar um pool de agentes para uso em todos os projetos. Primeiro, verifique se você é membro de um grupo em todos os pools de agentes com a função Administrador navegando até a página de pools de agentes nas configurações da sua organização. Em seguida, crie um pool de novos agentes e selecione a opção para provisionar automaticamente pools de agentes correspondentes em todos os projetos ao criar o pool. Essa configuração garante que todos os projetos tenham acesso a esse pool de agentes. Por fim , instale e configure agentes para fazer parte desse pool de agentes.

  • Você quer compartilhar um conjunto de computadores de agente com vários projetos, mas não todos. Primeiro, navegue até as configurações de um dos projetos, adicione um pool de agentes e selecione a opção para criar um novo pool no nível da organização. Em seguida, vá para cada um dos outros projetos e crie um pool em cada um deles, selecionando a opção para usar um pool de agentes existente da organização. Por fim, instale e configure agentes para fazer parte do pool de agentes compartilhados.

  • Você é membro de um projeto e deseja usar um conjunto de computadores pertencentes à sua equipe para executar trabalhos de build e implantação. Primeiro, verifique se você é membro de um grupo em Todos os Pools com a função Administrador . Em seguida, crie um pool de novos agentes de projeto nas configurações do projeto e selecione a opção para criar um pool de agentes da organização. Como resultado, uma organização e um pool de agentes no nível do projeto serão criados. Por fim , instale e configure agentes para fazer parte desse pool de agentes.

  • Você é membro da equipe de infraestrutura e gostaria de configurar um pool de agentes para uso em todos os projetos. Primeiro verifique se você é membro de um grupo em Todos os Pools com a função Administrador . Em seguida, crie um pool de novos agentes de organização nas configurações de administrador e selecione a opção de provisionar automaticamente pools de agentes de projeto correspondentes em todos os projetos ao criar o pool. Essa configuração garante que todos os projetos tenham um pool apontando para o pool de agentes da organização. O sistema cria um pool para projetos existentes e, no futuro, o fará sempre que um novo projeto for criado. Por fim , instale e configure agentes para fazer parte desse pool de agentes.

  • Você quer compartilhar um conjunto de computadores de agente com vários projetos, mas não todos. Primeiro, crie um pool de agentes de projeto em um dos projetos e selecione a opção para criar um pool de agentes da organização ao criar esse pool. Em seguida, vá para cada um dos outros projetos e crie um pool em cada um deles, selecionando a opção para usar um pool de agentes da organização existente. Por fim, instale e configure agentes para fazer parte do pool de agentes compartilhados.

Segurança de pools de agentes

Entender como a segurança funciona para pools de agentes ajuda a controlar o compartilhamento e o uso de agentes.

As funções são definidas em cada pool de agentes e a associação nessas funções rege quais operações você pode executar em um pool de agentes.

Função em um pool de agentes nas configurações da organização Finalidade
Leitor Os membros dessa função podem exibir o pool de agentes, bem como agentes. Normalmente, você usa isso para adicionar operadores responsáveis por monitorar os agentes e sua integridade.
Conta de serviço Os membros dessa função podem usar o pool de agentes da organização para criar um pool de agentes de projeto em um projeto. Se você seguir as diretrizes acima para criar novos pools de agentes de projeto, normalmente não precisará adicionar nenhum membro aqui.
Administrador Além de todas as permissões acima, os membros dessa função podem registrar ou cancelar o registro de agentes do pool de agentes da organização. Eles também podem se referir ao pool de agentes da organização ao criar um pool de agentes de projeto em um projeto. Por fim, também podem gerenciar a associação para todas as funções do pool de agentes da organização. O usuário que criou o pool de agentes da organização é adicionado automaticamente à função Administrador desse pool.

O nó todos os pools de agentes na guia Pools de Agentes é usado para controlar a segurança de todos os pools de agentes da organização. As associações de função para pools de agentes de organização individuais são herdadas automaticamente daqueles do nó 'Todos os pools de agentes'. Ao usar o TFS ou Azure DevOps Server, por padrão, os administradores de TFS e Azure DevOps Server também são administradores do nó 'Todos os pools de agentes'.

As funções também são definidas em cada pool de agentes de projeto e as associações nessas funções regem quais operações você pode executar em um pool de agentes no nível do projeto.

Função em um pool de agentes nas configurações do projeto Finalidade
Leitor Os membros dessa função podem visualizar o pool de agentes do projeto. Normalmente, você usa isso para adicionar operadores responsáveis por monitorar os trabalhos de build e implantação nesse pool de agentes de projeto.
Usuário Os membros dessa função podem usar o pool de agentes de projeto ao criar pipelines.
Administrador Além de todas as operações acima, os membros dessa função podem gerenciar a associação para todas as funções do pool de agentes de projeto. O usuário que criou o pool é adicionado automaticamente à função Administrador desse pool.

O nó todos os pools de agentes na guia Pools do Agente é usado para controlar a segurança de todos os pools de agentes de projeto em um projeto. As associações de função para pools de agentes de projeto individuais são herdadas automaticamente daqueles do nó 'Todos os pools de agentes'. Por padrão, os seguintes grupos são adicionados à função Administrador de "Todos os pools de agentes": Administradores de Build, Administradores de Versão e Administradores de Projeto.

A ação segurança na guia Pools do Agente é usada para controlar a segurança de todos os pools de agentes de projeto em um projeto. Associações de função para pools de agentes de projeto individuais são herdadas automaticamente do que você define aqui. Por padrão, os seguintes grupos são adicionados à função Administrador de "Todos os pools de agentes": Administradores de Build, Administradores de Versão e Administradores de Projeto.

Perguntas frequentes

Se eu não agendar uma janela de manutenção, quando os agentes executarão a manutenção?

Se nenhuma janela estiver agendada, os agentes nesse pool não executarão o trabalho de manutenção.

O que é um trabalho de manutenção?

Você pode configurar pools de agentes para limpar periodicamente diretórios e repositórios de trabalho obsoletos. Isso deve reduzir o potencial para os agentes ficarem sem espaço em disco. Os trabalhos de manutenção são configurados no nível da coleção de projetos ou da organização nas configurações do pool de agentes.

Para definir as configurações do trabalho de manutenção:

  1. Escolha o Azure DevOps, configurações da organização.

    Escolha as configurações da organização.

  2. Escolha pools do Agente.

    Escolha a guia Pools do Agente.

  1. Escolha Azure DevOps, configurações de coleção.

    Escolha as configurações de Coleção.

  2. Escolha pools do Agente.

    Escolha pools do Agente.

  1. Escolha Azure DevOps, configurações de coleção.

    Configurações de coleção, 2019.

  2. Escolha pools do Agente.

    Escolha pools do Agente, 2019.

  1. Navegue até o projeto e escolha Configurações (ícone de engrenagem) >Filas do Agente.

    Escolha Configurações, Filas do Agente, 2018.

  2. Escolha Gerenciar pools.

    Escolha Gerenciar pools, 2018.

Escolha o pool desejado e escolha Configurações para definir as configurações de trabalho de manutenção para esse pool de agentes.

Importante

Você deve ter a permissão Gerenciar filas de build para definir as configurações de trabalho de manutenção. Se você não vir a guia Configurações ou a guia Histórico de Manutenção , não terá essa permissão, que é concedida por padrão à função Administrador . Para obter mais informações, consulte Segurança de pools de agentes.

Configurações do trabalho de manutenção

Configurações de trabalho de manutenção para TFS

Defina as configurações desejadas e escolha Salvar.

Selecione Histórico de Manutenção para ver o histórico de trabalhos de manutenção do pool de agentes atual. Você pode baixar e examinar logs para ver as etapas de limpeza e as ações executadas.

Histórico de trabalhos de manutenção

A manutenção é feita por pool de agentes, não por computador; portanto, se você tiver vários pools de agentes em um único computador, ainda poderá ter problemas de espaço em disco.

O trabalho de manutenção do meu pool de agentes auto-hospedado parece preso. Por quê?

Normalmente, um trabalho de manutenção fica "preso" quando está esperando para ser executado em um agente que não está mais no pool de agentes. Isso acontece quando, por exemplo, o agente foi colocado offline intencionalmente ou quando há problemas de comunicação com ele.

Os trabalhos de manutenção que foram enfileirados para serem executados esperarão sete dias para serem executados. Posteriormente, eles serão automaticamente definidos como estado de falha se não forem executados. Esse limite de tempo não pode ser alterado.

O limite de sete dias é diferente da configuração de tempo limite do trabalho de manutenção . Este último controla o número máximo de minutos que um agente pode gastar fazendo manutenção. O temporizador é iniciado quando o trabalho é iniciado, não quando o trabalho é enfileirado em um agente.

Estou tentando criar um pool de agentes de projeto que usa um pool de agentes da organização existente, mas os controles estão esmaecidos. Porque?

Na caixa de diálogo "Criar um pool de agentes de projeto", você não poderá usar um pool de agentes de organização existente se ele já for referenciado por outro pool de agentes de projeto. Cada pool de agentes da organização pode ser referenciado por apenas um pool de agentes de projeto em uma determinada coleção de projetos.

Não consigo selecionar um pool hospedado pela Microsoft e não consigo enfileirar meu build. Como corrigir isso?

Peça ao proprietário da sua organização do Azure DevOps para conceder permissão para usar o pool. Consulte Segurança de pools de agentes.

Preciso de mais recursos de build hospedados. O que posso fazer?

R: O pool do Azure Pipelines fornece a todas as organizações do Azure DevOps agentes de build hospedados na nuvem e minutos de build gratuitos por mês. Se você precisar de mais recursos de build hospedados pela Microsoft ou precisar executar mais trabalhos em paralelo, poderá: