Criar e gerenciar pools de agentes

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

Observação

O Microsoft Visual Studio Team Foundation Server 2018 e versões anteriores têm as seguintes diferenças na nomenclatura:

  • Os Pipelines para compilação e liberação são chamados definições
  • As Execuções são chamadas de compilações
  • As Conexões de serviço são chamadas Pontos de extremidade de serviço
  • Os Estágios são chamados de ambientes
  • Os Trabalhos são chamados 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 como escopo todo o servidor; para que você possa compartilhar um pool de agentes entre projetos e coleções de projetos.

Uma fila de agentes fornece acesso a um pool de agentes dentro de um projeto. Ao criar um pipeline de build ou de lançamento, você especifica a fila que ele usa. As filas têm como escopo o seu projeto no TFS 2017 e posterior, de modo que você só pode usá-las em pipelines de build e lançamento dentro de um projeto.

Para compartilhar um pool de agentes com vários projetos, em cada um desses projetos, você cria uma fila de agentes 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.

TFS 2017 and TFS 2018 build system architecture

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 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.

No Azure DevOps Server, os pools de agentes têm como escopo 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 apenas um agente. Se você precisar executar um trabalho em todos os agentes, como um grupo de implantação para pipelines de lançamento clássicos, confira Provisionar grupos de implantação.

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. Entre em sua organização (https://dev.azure.com/{yourorganization}).

  2. Escolha Azure DevOps, Configurações da organização.

    Choose Organization settings.

  3. Escolha Pools de agentes.

    Choose Agent pools tab.

  1. Entre na sua coleção de projetos (http://your-server/DefaultCollection).

  2. Escolha Azure DevOps, Configurações de coleção.

    Choose Collection settings.

  3. Escolha Pools de agentes.

    Choose Agent pools.

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

    Collection settings, 2019.

  2. Escolha Pools de agentes.

    Choose Agent pools, 2019.

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

    Choose Settings, Agent Queues, 2018.

  2. Escolha Gerenciar pools.

    Choose Manage pools, 2018.

Crie e gerencie filas de agentes na guia filas de agentes, nas configurações do projeto.

Se você é um membro da equipe do projeto, pode criar e gerenciar pools de agentes na guia de pools de agentes nas configurações do projeto.

Navegue até o projeto e escolha Configurações do projeto, Pools de agentes.

Navigate to your project and choose Project settings, Agent pools.

Navegue até o projeto e escolha Configurações do projeto, Pools de agentes.

Navigate to your project and choose Project settings, Agent pools (2020).

Navegue até o projeto e escolha Configurações do projeto, Pools de agentes.

Navigate to your project and choose Project settings, Agent pools (2019).

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

Choose settings, Agent Queues, TFS 2018.

Pools de agentes padrão

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

  • Pool hospedado do Azure Pipelines com várias imagens do Windows, Linux e macOS. Para obter uma lista completa das imagens disponíveis e dos respectivos softwares instalados, confira Agentes hospedados pela Microsoft.

    Observação

    O pool hospedado do Azure Pipelines substitui os pools hospedados anteriormente que tinham nomes mapeados para as imagens correspondentes. Todos os trabalhos que você tinha 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 sobre a versão do Pool hospedado único das Notas sobre a versãode 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 cada colaborador em um projeto crie e execute pipelines usando agentes hospedados pela Microsoft.

Designar um pool em seu pipeline

Os pipelines YAML são compatíveis com o Azure DevOps Server 2019 e superior.

Para escolher um agente hospedado pela Microsoft no pool do Azure Pipelines em seu pipeline YAML do Azure DevOps Services, 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, confira 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. Entre em sua organização (https://dev.azure.com/{yourorganization}).

  2. Escolha Azure DevOps, Configurações da organização.

    Choose Organization settings.

  3. Escolha Pools de agentes.

    Choose Agent pools tab.

  1. Entre na sua coleção de projetos (http://your-server/DefaultCollection).

  2. Escolha Azure DevOps, Configurações de coleção.

    Choose Collection settings.

  3. Escolha Pools de agentes.

    Choose Agent pools.

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

    Collection settings, 2019.

  2. Escolha Pools de agentes.

    Choose Agent pools, 2019.

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

    Choose Settings, Agent Queues, 2018.

  2. Escolha Gerenciar pools.

    Choose Manage pools, 2018.

Crie e gerencie filas de agentes na guia filas de agentes, nas configurações do projeto.

Se você é um membro da equipe do projeto, pode criar e gerenciar pools de agentes na guia de pools de agentes nas configurações do projeto.

Navegue até o projeto e escolha Configurações do projeto, Pools de agentes.

Navigate to your project and choose Project settings, Agent pools.

Navegue até o projeto e escolha Configurações do projeto, Pools de agentes.

Navigate to your project and choose Project settings, Agent pools (2020).

Navegue até o projeto e escolha Configurações do projeto, Pools de agentes.

Navigate to your project and choose Project settings, Agent pools (2019).

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

Choose settings, Agent Queues, TFS 2018.

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

Se você tiver muitos agentes destinados a diferentes equipes ou finalidades, talvez queira criar mais pools, 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ê é um membro de um projeto e quer usar um conjunto de computadores de sua equipe para executar trabalhos de build e implantação. Primeiro, verifique se você tem as permissões para criar pools no projeto. Basta selecionar Segurança na página de pools de agentes nas configurações do projeto. Você precisa ter a função Administrador para poder criar pools. Em seguida, selecione Adicionar pool e selecione a opção para criar um novo pool. 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ê tem as permissões para criar pools no projeto. Basta selecionar Segurança na página de pools de agentes nas configurações da organização. Em seguida, crie um Novo pool de agentes e selecione a opção para provisionar automaticamente esse pool de agentes 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 pool no nível da organização. Em seguida, vá para cada um dos outros projetos e crie um pool em cada um deles enquanto seleciona 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 compartilhado.

  • Você é um membro de um projeto e quer usar um conjunto de computadores de sua equipe para executar trabalhos de build e implantação. Primeiro, verifique se você tem as permissões para criar pools no projeto. Basta selecionar Segurança na página de pools de agentes nas configurações do projeto. Você precisa ter a função Administrador para poder criar pools. Em seguida, selecione Adicionar pool e selecione a opção para criar um novo pool. 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ê tem as permissões para criar pools no projeto. Basta selecionar Segurança na página de pools de agentes nas configurações da coleção de projetos. Em seguida, crie um Novo pool de agentes e selecione a opção para provisionar automaticamente esse pool de agentes 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 pool no nível da organização. Em seguida, vá para cada um dos outros projetos e crie um pool em cada um deles enquanto seleciona 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 compartilhado.

  • Você é um membro de um projeto e quer usar um conjunto de computadores de sua equipe para executar trabalhos de build e implantação. Primeiro, você deve ser membro de um grupo em Todos os Pools com a função Administrador. Em seguida, crie um Novo pool de agentes de projeto nas configurações do projeto e selecione a opção 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, você deve ser membro de um grupo em Todos os Pools com a função Administrador. Em seguida, crie um Novo pool de agentes da organização em suas configurações de administrador e selecione Provisionar automaticamente os 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, ele fará isso sempre que um 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 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 enquanto seleciona a opção Usar um pool de agentes da organização. Por fim, instale e configure agentes para fazer parte do pool de agentes compartilhado.

Segurança dos 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 a essas funções rege quais operações você pode executar em um pool de agentes.

Configurações de segurança no nível da organização

Função em um pool de agentes nas configurações da organização Finalidade
Leitor Os membros dessa função podem visualizar o pool de agentes e os agentes. Normalmente, você usa isso para adicionar operadores responsáveis por monitorar os agentes e a integridade deles.
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 pools de agentes de projeto, normalmente não será preciso 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. Associações de função para pools de agentes de organização individuais são herdadas automaticamente do nó "Todos os pools de agentes". Por padrão, os administradores de TFS e Azure DevOps Server também são administradores do nó "Todos os pools de agentes" ao usar o TFS ou o Azure DevOps Server.

Configurações de segurança no nível do projeto

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ê o usa 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 do projeto ao criar pipelines.
Administrador Além disso, para 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.

Permissões de pipeline

As permissões de pipeline controlam quais pipelines YAML estão autorizados a usar um pool de agentes. As permissões de pipeline não restringem o acesso de pipelines Clássicos.

É possível escolher um das seguintes opções:

  • Abra o acesso a todos os pipelines para usar o pool de agentes por meio do menu mais opções no canto superior direito da seção Permissões de pipeline na guia segurança de um pool de agentes.

  • Bloqueie o pool de agentes e permita apenas que pipelines YAML selecionados o usem. Se qualquer outro pipeline YAML se referir ao pool de agentes, uma solicitação de autorização será gerada, que deverá ser aprovada por um Administrador do pool de agentes. Isso não limita o acesso de pipelines Clássicos.

Screenshot of the pipeline permissions user experience for an agent pool.

As permissões de pipeline para o pool de agentes do Azure Pipelines não podem ser configuradas, pois o pool está acessível, por padrão, a todos os pipelines.

O nó Todos os pools de agentes na guia Pools de agentes controla a segurança de todos os pools de agentes de projeto em um projeto. Associações de função para pools individuais de agentes de projeto são herdadas automaticamente daqueles no 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 de agentes é usada 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 das configurações 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 for 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 de trabalho e repositórios obsoletos. Isso deve reduzir a possibilidade de os agentes ficarem sem espaço em disco. Os trabalhos de manutenção são configurados no nível da organização nas configurações do pool de agentes.

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

  1. Entre em sua organização (https://dev.azure.com/{yourorganization}).

  2. Escolha Azure DevOps, Configurações da organização.

    Choose Organization settings.

  3. Escolha Pools de agentes.

    Choose Agent pools tab.

  1. Entre na sua coleção de projetos (http://your-server/DefaultCollection).

  2. Escolha Azure DevOps, Configurações de coleção.

    Choose Collection settings.

  3. Escolha Pools de agentes.

    Choose Agent pools.

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

    Collection settings, 2019.

  2. Escolha Pools de agentes.

    Choose Agent pools, 2019.

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

    Choose Settings, Agent Queues, 2018.

  2. Escolha Gerenciar pools.

    Choose Manage 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ê precisa ter a permissão Gerenciar filas de build para definir as configurações do 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 saber mais, confira Segurança de pools de agentes.

Maintenance job settings

Maintenance job settings for 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 revisar os logs para ver as etapas e as ações de limpeza executadas.

Maintenance job history

A manutenção é feita por pool de agentes (não por computador). Portanto, se você tiver vários pools de agentes em apenas um computador, ainda poderá ter problemas de espaço em disco.

O trabalho de manutenção do meu pool de agentes auto-hospedados 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 propositalmente colocado offline ou quando há problemas de comunicação com ele.

Os trabalhos de manutenção enfileirados para execução aguardarão sete dias para serem executados. Posteriormente, eles serão automaticamente configurados para o estado de falha se não forem executados. Este 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. Esse último controla o número máximo de minutos que um agente pode gastar fazendo manutenção. O temporizador começa quando o trabalho é iniciado, não quando o trabalho está na fila de 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. Por que?

Na caixa de diálogo "Criar um pool de agentes de projeto", você não poderá usar um pool de agentes da 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 minha compilação. Como corrigir isso?

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

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

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