Criar e gerir conjuntos de agentes

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

Um pool de agentes é uma coleção de agentes. Em vez de gerenciar cada agente individualmente, você organiza os agentes em pools de agentes. Quando você configura um agente, ele é registrado com um único pool e, ao criar 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.

Nota

Os pools de agentes dos Pools de DevOps gerenciados são gerenciados no Portal do Azure. Se você estiver usando pools de DevOps gerenciados, consulte Criar seu primeiro pool de DevOps gerenciado.

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

No Servidor de DevOps do Azure, os pools de agentes têm escopo para todo o servidor; para que você possa compartilhar as máquinas do agente entre projetos e coleções.

Nota

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 versão clássicos, consulte Provisionar grupos de implantação.

Se for um administrador da organização, pode criar e gerir os conjuntos de agentes no separador Conjuntos de Agentes nas definições de administrador.

  1. Inicie sessão na sua organização (https://dev.azure.com/{yourorganization}).

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

    Escolha Configurações da organização.

  3. Escolha Pools de agentes.

    Escolha a guia Pools de agentes.

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

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

    Escolha Configurações da coleção.

  3. Escolha Pools de agentes.

    Escolha Pools de agentes.

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

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

  2. Escolha Pools de agentes.

    Escolha Agent pools, 2019.

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

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

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

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

Navegue até seu projeto e escolha Configurações do projeto, Pools de agentes (2020).

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

Navegue até seu projeto e escolha Configurações do projeto, Pools de agentes (2019).

Pools de agentes padrão

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

  • Pool padrão : use-o para registrar agentes auto-hospedados que você configurou.
  • Pool hospedado do Azure Pipelines com várias imagens do Windows, Linux e macOS. Para obter uma lista completa das imagens disponíveis e do software instalado, consulte Agentes hospedados pela Microsoft.

    Nota

    O pool hospedado do Azure Pipelines substitui os pools hospedados anteriores que tinham nomes mapeados para as imagens correspondentes. Todos os trabalhos que você tinha nos pools hospedados anteriores são automaticamente redirecionados para a imagem correta no novo pool hospedado do Azure Pipelines. Em algumas circunstâncias, você ainda pode ver os nomes do pool antigo, 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 Single hosted pool 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 cada colaborador em um projeto crie e execute pipelines usando agentes hospedados pela Microsoft.

Designar um pool em seu pipeline

Para escolher um agente hospedado pela Microsoft no pool de Pipelines do Azure em seu pipeline YAML dos Serviços de DevOps do Azure, especifique o nome da imagem, usando o Rótulo de Imagem de VM YAML desta tabela.

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

Para usar uma piscina privada sem exigências:

pool: MyPool

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

Gerenciar pools e filas

Se for um administrador da organização, pode criar e gerir os conjuntos de agentes no separador Conjuntos de Agentes nas definições de administrador.

  1. Inicie sessão na sua organização (https://dev.azure.com/{yourorganization}).

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

    Escolha Configurações da organização.

  3. Escolha Pools de agentes.

    Escolha a guia Pools de agentes.

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

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

    Escolha Configurações da coleção.

  3. Escolha Pools de agentes.

    Escolha Pools de agentes.

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

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

  2. Escolha Pools de agentes.

    Escolha Agent pools, 2019.

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

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

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

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

Navegue até seu projeto e escolha Configurações do projeto, Pools de agentes (2020).

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

Navegue até seu projeto e escolha Configurações do projeto, Pools de agentes (2019).

Para excluir um pool, vá para a lista Pools de agentes, escolha Mais opções, Excluir.

Captura de tela mostrando a exclusão de um pool de agentes.

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, convém criar pools adicionais, conforme explicado abaixo.

Criar pools de agentes

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

  • Você é membro de um projeto e deseja usar um conjunto de máquinas de propriedade de sua equipe para executar trabalhos de compilação e implantação. Primeiro, verifique se você tem as permissões para criar pools em seu projeto selecionando Segurança na página Pools de agentes nas configurações do projeto. Você deve ter a função de Administrador para poder criar novos pools. Em seguida, selecione Adicionar pool e selecione a opção para criar um novo pool. Finalmente, instale e configure os agentes para fazer parte desse pool de agentes.

  • Você é um 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 em seu projeto selecionando Segurança na página Pools de agentes nas configurações da sua 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 durante a criação do pool. Essa configuração garante que todos os projetos tenham acesso a esse pool de agentes. Finalmente, instale e configure os agentes para fazer parte desse pool de agentes.

  • Você deseja compartilhar um conjunto de máquinas 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 enquanto seleciona a opção Usar um pool de agentes existente da organização. Por fim, instale e configure os agentes para fazerem parte do pool de agentes compartilhados.

  • Você é membro de um projeto e deseja usar um conjunto de máquinas de propriedade de sua equipe para executar trabalhos de compilação e implantação. Primeiro, verifique se você tem as permissões para criar pools em seu projeto selecionando Segurança na página Pools de agentes nas configurações do projeto. Você deve ter a função de Administrador para poder criar novos pools. Em seguida, selecione Adicionar pool e selecione a opção para criar um novo pool. Finalmente, instale e configure os agentes para fazer parte desse pool de agentes.

  • Você é um 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 em seu projeto, selecionando Segurança na página 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 durante a criação do pool. Essa configuração garante que todos os projetos tenham acesso a esse pool de agentes. Finalmente, instale e configure os agentes para fazer parte desse pool de agentes.

  • Você deseja compartilhar um conjunto de máquinas 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 enquanto seleciona a opção Usar um pool de agentes existente da organização. Por fim, instale e configure os agentes para fazerem parte do pool de agentes compartilhados.

  • Você é membro de um projeto e deseja usar um conjunto de máquinas de propriedade de sua equipe para executar trabalhos de compilação e implantação. Primeiro, certifique-se de que é membro de um grupo em Todos os Pools com a função de Administrador . Em seguida, crie um Novo pool de agentes de projeto nas configurações do projeto e selecione a opção Criar um novo pool de agentes da organização. Como resultado, uma organização e um pool de agentes no nível do projeto serão criados. Finalmente, instale e configure os agentes para fazer parte desse pool de agentes.

  • Você é um membro da equipe de infraestrutura e gostaria de configurar um pool de agentes para uso em todos os projetos. Primeiro, certifique-se de que é membro de um grupo em Todos os Pools com a função de Administrador . Em seguida, crie um novo pool de agentes da organização em suas configurações de administrador e selecione a opção para provisionar automaticamente os pools de agentes de projeto correspondentes em todos os projetos durante a criação do 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. Finalmente, instale e configure os agentes para fazer parte desse pool de agentes.

  • Você deseja compartilhar um conjunto de máquinas 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 novo 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 existente. Por fim, instale e configure os agentes para fazerem parte do pool de agentes compartilhados.

Segurança dos conjuntos de agentes

Compreender 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 controla 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 Propósito
Leitor Os membros dessa função podem exibir o pool de agentes, bem como os 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. Finalmente, eles 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ções individuais são herdadas automaticamente daquelas do nó 'Todos os pools de agentes'. Por padrão, os administradores do TFS e do 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 a essas funções controlam 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 Propósito
Leitor Os membros dessa função podem exibir o pool de agentes de projeto. Normalmente, você usa isso para adicionar operadores que são responsáveis por monitorar os trabalhos de compilação e implantação nesse pool de agentes de projeto.
User 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 de 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.

Pode escolher entre as seguintes opções:

  • Acesso aberto para todos os pipelines usarem o pool de agentes a partir de 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 que apenas pipelines YAML selecionados o utilizem. 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.

Captura de tela da experiência do usuário de permissões de pipeline para um pool de agentes.

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

O nó Todos os pools de agentes na guia Pools de agentes é 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 daquelas do nó 'Todos os pools de agentes'. Por padrão, os seguintes grupos são adicionados à função de Administrador de 'Todos os pools de agentes': Administradores de Compilação, Administradores de Versão, 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 do que você define aqui. Por padrão, os seguintes grupos são adicionados à função de Administrador de 'Todos os pools de agentes': Administradores de Compilação, Administradores de Versão, Administradores de Projeto.

FAQ

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

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

    Escolha Configurações da organização.

  3. Escolha Pools de agentes.

    Escolha a guia Pools de agentes.

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

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

    Escolha Configurações da coleção.

  3. Escolha Pools de agentes.

    Escolha Pools de agentes.

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

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

  2. Escolha Pools de agentes.

    Escolha Agent pools, 2019.

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

Importante

Você deve ter a permissão Gerenciar filas de compilação para definir as configurações do trabalho de manutenção. Se não vir o separador Definições ou o separador Histórico de Manutenção, não tem essa permissão, que é concedida por predefinição à função de Administrador. Para obter mais informações, consulte Segurança de pools de agentes.

Configurações do trabalho de manutenção

Configure 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. Pode transferir e rever os registos para ver os passos de limpeza e as ações tomadas.

Histórico do trabalho de manutenção

A manutenção é feita por pool de agentes, não por máquina; Portanto, se você tiver vários pools de agentes em uma única máquina, ainda poderá ter problemas de espaço em disco.

O trabalho de manutenção do meu conjunto do agente autoalojado parece estar bloqueado. Porquê?

Normalmente, um trabalho de manutenção fica “bloqueado” quando está à espera de ser executado num agente que já não se encontra no conjunto de agentes. Tal ocorre quando, por exemplo, o agente foi colocado offline propositadamente ou quando existem problemas de comunicação com o mesmo.

Os trabalhos de manutenção que foram colocados em fila para serem executados aguardarão sete dias para serem executados. Posteriormente, serão automaticamente definidos para o estado falhado se não forem executados. Não é possível alterar este limite de tempo.

O limite de sete dias é diferente da definição do tempo limite do trabalho de manutenção. O último controla o número máximo de minutos que um agente pode passar a realizar a manutenção. O temporizador é iniciado quando o trabalho é iniciado, não quando o trabalho está em fila num 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 acinzentados. Porquê?

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á estiver 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 dentro de uma determinada coleção de projetos.

Não consigo selecionar um conjunto alojado na Microsoft e não consigo colocar a minha compilação em fila. Como devo proceder para corrigir este problema?

Peça ao proprietário da sua organização do Azure DevOps que lhe conceda permissão para utilizar o conjunto. Veja Segurança dos conjuntos de agentes.

Preciso de mais recursos de compilação hospedados. O que posso fazer?

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