Partilhar via


Criar e gerir conjuntos de agentes

Serviços de DevOps do Azure | Azure DevOps Server 2022 | Azure DevOps Server 2020

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 em um único pool. Ao criar um pipeline, você 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.

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 o início rápido para criar um pool.

No Azure Pipelines, os pools têm escopo para toda a organização, permitindo-lhe compartilhar máquinas de agentes entre projetos.

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

Os trabalhos do pool de agentes executam uma tarefa num único agente. Se precisar executar uma tarefa em todos os agentes, como um grupo de implantação para pipelines clássicos de versão, consulte Provisionar grupos de implantação.

Se você for um administrador da organização, criará e gerenciará pools de agentes na guia Pools de agentes nas configurações de administrador.

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

  2. SelecioneConfigurações da Organização>.

    Captura de tela que mostra como selecionar Configurações da organização.

  3. Selecione Pools de agentes.

    Captura de tela que mostra como selecionar a guia Pools de agentes.

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

  2. Selecione Azure DevOps>Configurações da Coleção.

    Captura de tela que mostra como selecionar Configurações de coleção.

  3. Selecione Pools de agentes.

    Selecione Pools de agentes.

Captura de ecrã que mostra como aceder e selecionar Agrupamentos de agentes.

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.

Vá para o seu projeto e selecione Configurações do projeto>Pools de agentes.

Captura de tela que mostra como selecionar a opção para pools de agentes.

Vá para o seu projeto e selecione Configurações do projeto>Pools de agentes.

Captura de tela que mostra como selecionar pools de agentes.

Pools de agentes padrão

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

  • Azure Pipelines: Este pool hospedado vem 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.

Por padrão, todos os colaboradores em um projeto são membros da função Usuário em pools hospedados. Essa designação permite que cada colaborador de um projeto crie e execute pipelines com agentes hospedados pela Microsoft.

Designar um pool no 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 a Etiqueta de Imagem de VM YAML de 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

Os administradores da organização criam e gerenciam pools de agentes na guia Pools de agentes nas configurações de administração.

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

  2. SelecioneConfigurações da Organização>.

    Captura de tela que mostra como selecionar Configurações da organização.

  3. Selecione Pools de agentes.

    Captura de tela que mostra como selecionar a guia Pools de agentes.

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

  2. Selecione Azure DevOps>Configurações da Coleção.

    Captura de tela que mostra como selecionar Configurações de coleção.

  3. Selecione Pools de agentes.

    Selecione Pools de agentes.

Captura de ecrã que mostra como aceder e selecionar Agrupamentos de agentes.

Os membros da equipe de projeto criam e gerenciam pools de agentes na guia Pools de agentes nas configurações do projeto.

Vá para o seu projeto e selecione Configurações do projeto>Pools de agentes.

Captura de tela que mostra como selecionar a opção para pools de agentes.

Vá para o seu projeto e selecione Configurações do projeto>Pools de agentes.

Captura de tela que mostra como selecionar pools de agentes.

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

Captura de tela que mostra como excluir um pool de agentes.

As piscinas são usadas 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 mais pools. Use as instruções a seguir.

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 que sua equipe possui para executar trabalhos de compilação e implantação:

  1. Verifique se você tem permissões para criar pools em seu projeto. Em Configurações do projeto, vá para o painel Pools de agentes e selecione Segurança. Para criar novos pools, você deve ter a função de Administrador .
  2. Selecione Adicionar pool e, em seguida, selecione a opção para criar um novo pool.
  3. Instale e configure agentes para fazer parte do novo pool de agentes.

Você é um membro da equipe de infraestrutura e deseja configurar um pool de agentes para usar em todos os projetos:

  1. Verifique se você tem permissões para criar pools em seu projeto. Em Configurações da organização, vá para o painel Pools de agentes e selecione Segurança.
  2. Crie um Novo pool de agentes e selecione a opção Provisionar automaticamente este 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.
  3. Instale e configure agentes para fazer parte do novo pool de agentes.

Você deseja compartilhar um conjunto de máquinas de agente com alguns, mas não todos, de seus projetos:

  1. Vá para 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.
  2. Vá para os outros projetos e crie um pool em cada um deles. Selecione Usar um pool de agentes existente da organização.
  3. Instale e configure agentes para fazer parte do pool de agentes compartilhados.

Você é membro de um projeto e deseja usar um conjunto de máquinas que sua equipe possui para executar trabalhos de compilação e implantação:

  1. Verifique se você tem permissões para criar pools em seu projeto. Em Configurações do projeto, vá para o painel Pools de agentes e selecione Segurança. Para criar novos pools, você deve ter a função de Administrador .
  2. Selecione Adicionar pool e, em seguida, selecione a opção para criar um novo pool.
  3. Instale e configure agentes para fazer parte do novo pool de agentes.

Você é um membro da equipe de infraestrutura e deseja configurar um pool de agentes para usar em todos os projetos:

  1. Verifique se você tem as permissões para criar pools em seu projeto. Em Configurações da organização, vá para o painel Pools de agentes e selecione Segurança.
  2. Crie um Novo pool de agentes e selecione a opção Provisionar automaticamente este 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.
  3. Instale e configure agentes para fazer parte do novo pool de agentes.

Você deseja compartilhar um conjunto de máquinas de agente com alguns dos seus projetos, mas não com todos:

  1. Vá para 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.
  2. Vá para os outros projetos e crie um pool em cada um deles. Selecione Usar um pool de agentes existente da organização.
  3. Instale e configure agentes para fazer parte do pool de agentes compartilhados.

Segurança dos conjuntos de agentes

Quando você entende como a segurança funciona para pools de agentes, pode controlar melhor o compartilhamento e o uso de agentes.

As funções são definidas em cada pool de agentes. 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 num pool de agentes nas Configurações da Organização Propósito
Reader Os membros desta função podem visualizar o pool de agentes e os agentes. Normalmente, utiliza esta função para adicionar operadores responsáveis por monitorizar os agentes e o seu estado.
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 anteriores 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 quando criam um pool de agentes de projeto em um projeto. Eles também podem gerenciar a associação para todas as funções do pool de agentes da organização. Um usuário que cria um pool de agentes da organização recebe automaticamente a função de Administrador para esse pool.

O nó Todos os pools de agentes na guia Pools de agentes controla a segurança de todos os pools de agentes da organização. As associações de função para pools de agentes de cada organização são herdadas automaticamente do nó Todos os pools de agentes. Por padrão, os administradores do Servidor de DevOps do Azure também são administradores do nó Todos os pools de agentes ao usar o Servidor de DevOps do Azure.

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. A associação a essas funções governa 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
Reader Os membros deste papel podem visualizar o pool de agentes de projeto. Normalmente, você usa essa função para adicionar operadores que monitoram 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 quando criam 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. Um usuário que cria um pool de agentes da organização recebe automaticamente a função de Administrador para esse pool.

Permissões de pipeline

As permissões de pipeline determinam quais pipelines YAML têm autorização para utilizar um pool de agentes. As permissões de pipeline não restringem o acesso de pipelines clássicos.

Escolha um dos seguintes processos:

  • Acesso aberto para todos os pipelines usarem o pool de agentes através das opções adicionais no canto superior direito da seção Permissões de pipeline na aba de segurança do pool de agentes.
  • Bloqueie o pool de agentes e permita que apenas os 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 um administrador do pool de agentes deverá aprovar. Esse processo não limita o acesso de pipelines clássicos.

Captura de tela que mostra a 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, porque o pool é acessível a todos os pipelines por padrão.

A ação Segurança na guia Pools de agentes controla 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 Administrador de Todos os pools de agentes: Administradores de Compilação, Administradores de Versão e Administradores de Projeto.

FAQ

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

Se você não agendar uma janela, 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. Esse processo reduz 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 .

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

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

  2. SelecioneConfigurações da Organização>.

    Captura de tela que mostra como selecionar Configurações da organização.

  3. Selecione Pools de agentes.

    Captura de tela que mostra como selecionar a guia Pools de agentes.

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

  2. Selecione Azure DevOps>Configurações da Coleção.

    Captura de tela que mostra como selecionar Configurações de coleção.

  3. Selecione Pools de agentes.

    Selecione Pools de agentes.

Captura de ecrã que mostra como aceder e selecionar Agrupamentos de agentes.

Selecione o pool desejado e, em seguida, selecione 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 conseguir ver os separadores Definições ou Histórico de Manutenção, não tem essa permissão, que o papel Administrador tem por predefinição. Para obter mais informações, consulte Segurança de pools de agentes.

Captura de tela que mostra as configurações do trabalho de manutenção.

Configure as configurações desejadas e selecione 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.

Captura de tela que mostra o histórico do trabalho de manutenção.

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

A tarefa de manutenção do meu pool de agentes autoalojados parece estar presa. Porquê?

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. Por exemplo, um agente foi colocado offline propositalmente ou há problemas de comunicação com ele.

Os trabalhos de manutenção que estão na fila para serem executados aguardam sete dias para serem executados. Se eles não forem executados durante esse tempo, eles automaticamente estarão em um estado de falha. 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 não estão disponíveis. 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 outro pool de agentes de projeto já fizer referência a ele. Cada pool de agentes da organização pode ser referenciado por apenas um pool de agentes de projeto dentro de uma 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 faço para corrigir esse problema?

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

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

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á: