Partilhar via


Agentes macOS auto-hospedados

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

Este artigo fornece orientação para usar o software de agente 3.x com os Azure DevOps Services e as versões atuais do Azure DevOps Server. Para obter uma lista das versões do Servidor de DevOps do Azure que suportam o agente 3.x, consulte O Servidor de DevOps do Azure suporta o agente 3.x.

Para criar e implantar aplicativos Xcode, você precisa de pelo menos um agente macOS. Esse agente também pode criar e implantar aplicativos Java e Android.

Observação

Este artigo descreve como configurar um agente auto-hospedado. Se você estiver usando os Serviços de DevOps do Azure e um agente hospedado pela Microsoft atenda às suas necessidades, poderá ignorar a configuração de um agente macOS auto-hospedado.

Saiba mais sobre os agentes

Se você já sabe o que é um agente e como ele funciona, sinta-se à vontade para ir direto para as seções a seguir. Mas se quiseres mais informações sobre o que fazem e como funcionam, consulta Azure Pipelines agentes.

Verificar pré-requisitos

  • Sistemas operativos suportados
    • x64
      • macOS 10.15 "Catalina"
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Monterey"
      • macOS 13.0 "Ventura"
      • macOS 14.0 "Sonoma"
    • ARM64
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Monterey"
      • macOS 13.0 "Ventura"
      • macOS 14.0 "Sonoma"
  • Git - Git 2.9.0 ou superior (última versão recomendada - você pode facilmente instalar com Homebrew)
  • .NET - O software do agente é executado no .NET 6, mas instala sua própria versão do .NET para que não haja nenhum pré-requisito do .NET.
  • TFVC - Se você estiver criando a partir de um repositório TFVC, consulte pré-requisitos do TFVC.

Preparar permissões

Se você estiver criando a partir de um repositório Subversion, deverá instalar o cliente Subversion na máquina.

Você deve executar a configuração do agente manualmente na primeira vez. Depois de ter uma ideia de como os agentes trabalham, ou se quiser automatizar a configuração de muitos agentes, considere usar configuração autônoma.

Segurança da informação para agentes hospedados localmente

O usuário que configura o agente precisa de permissões de administrador do pool, mas o usuário que executa o agente não.

As pastas controladas pelo agente devem ser restritas ao menor número possível de usuários porque contêm segredos que podem ser descriptografados ou exfiltrados.

O agente do Azure Pipelines é um produto de software projetado para executar o código baixado de fontes externas. Ele inerentemente pode ser um alvo para ataques de Execução Remota de Código (RCE).

Portanto, é importante considerar o modelo de ameaça em torno de cada uso individual de Agentes de Pipelines para executar o trabalho e decidir quais são as permissões mínimas que podem ser concedidas ao usuário que executa o agente, à máquina onde o agente é executado, aos usuários que têm acesso de gravação à definição de Pipeline, os repositórios git onde o yaml está armazenado, ou o grupo de usuários que controlam o acesso ao pool para novos pipelines.

É uma prática recomendada que a identidade que executa o agente seja diferente daquela que possui permissões para conectar o agente ao pool. O usuário que gera as credenciais (e outros arquivos relacionados ao agente) é diferente do usuário que precisa lê-las. Portanto, é mais seguro considerar cuidadosamente o acesso concedido à própria máquina do agente e às pastas do agente que contêm arquivos confidenciais, como logs e artefatos.

Faz sentido conceder acesso à pasta do agente somente para administradores de DevOps e a identidade do usuário que executa o processo do agente. Os administradores podem precisar investigar o sistema de arquivos para entender as falhas de compilação ou obter arquivos de log para poder relatar falhas do Azure DevOps.

Decida qual usuário você usará

Como uma etapa única, você deve registrar o agente. Alguém com permissão para administrar a fila de agentes deve concluir estas etapas. O agente não usará as credenciais dessa pessoa na operação diária, mas são necessárias para concluir o registo. Saiba mais sobre como os agentes se comunicam.

Confirme se o usuário tem permissão

Verifique se a conta de usuário que você vai usar tem permissão para registrar o agente.

O usuário é proprietário da organização do Azure DevOps ou administrador do TFS ou do Azure DevOps Server? Pare aqui, você tem permissão.

Caso contrário:

  1. Abra um navegador e navegue até a guia pools do Agent para sua organização do Azure Pipelines ou Servidor de DevOps do Azure ou servidor TFS:

    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 grupos de agentes.

      Escolha o separador 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 de coleção.

    3. Escolha pools de agentes.

      Escolha Pools de Agentes.

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

      Configurações da Collection, 2019.

    2. Escolha grupos de agentes.

      Escolher grupos de agentes, 2019.

  2. Selecione o pool no lado direito da página e clique em Security.

  3. Se a conta de usuário que você vai usar não for mostrada, peça a um administrador para adicioná-la. O administrador pode ser um administrador do pool de agentes, um proprietário da organização Azure DevOpsou um administrador do TFS ou do Azure DevOps Server.

    Se for um agente de grupo de implantação , o administrador pode ser um administrador de grupo de implantação, um proprietário da organização Azure DevOpsou um administrador do TFS ou do Azure DevOps Server.

    Você pode adicionar um utilizador à função de administrador do grupo de implementação no separador Segurança da na página Grupos de Implementação do emAzure Pipelines.

Observação

Se vir uma mensagem como esta: Desculpe, não foi possível adicionar a identidade. Por favor, tente uma identidade diferente., você provavelmente seguiu as etapas acima para um proprietário de organização ou administrador do TFS ou do Azure DevOps Server. Você não precisa fazer nada; Você já tem permissão para administrar o pool de agentes.

Baixar e configurar o agente

Azure Pipelines

  1. Faça logon na máquina usando a conta para a qual você preparou permissões, conforme explicado na seção anterior.

  2. No navegador da Web, entre no Azure Pipelines e navegue até a guia pools do Agent:

    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 grupos de agentes.

      Escolha o separador 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 de coleção.

    3. Escolha grupos de agentes.

      Escolha Grupos de agentes.

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

      Configurações da Collection, 2019.

    2. Escolha conjuntos de agentes.

      Escolha grupos de agentes, 2019.

  3. Selecione a pool padrão, selecione a guia Agentes e escolha Novo agente.

  4. Na caixa de diálogo Obter o agente, clique em macOS.

  5. Clique no botão Download.

  6. Siga as instruções na página.

  7. Limpe o atributo estendido no ficheiro tar: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Descompacte o agente no diretório de sua escolha. cd para esse diretório e execute ./config.sh. Certifique-se de que o caminho para o diretório não contém espaços porque as ferramentas e scripts nem sempre escapam corretamente dos espaços.

URL do servidor

Azure Pipelines: https://dev.azure.com/{your-organization}

Servidor de DevOps do Azure: https://{your_server}/tfs

Tipo de autenticação

Ao registrar um agente, escolha entre os seguintes tipos de autenticação e a configuração do agente solicitará as informações adicionais específicas necessárias para cada tipo de autenticação. Para obter mais informações, consulte Opções de autenticação de agente auto-hospedado.

  • Token de acesso pessoal
  • Alternate Conectar ao Azure DevOps Server ou TFS usando a autenticação básica. Ao selecionar Alternativa, as suas credenciais serão solicitadas.

Executar interativamente

Para obter orientação sobre como executar o agente no modo interativo ou como um serviço, consulte Agents: Interactive vs. service.

Para executar o agente interativamente:

  1. Se você estiver executando o agente como um serviço, desinstale o serviço.

  2. Execute o agente.

    ./run.sh
    

Para reiniciar o agente, pressione Ctrl+C e execute run.sh para reiniciá-lo.

Para usar o seu agente, execute um trabalho usando o pool do agente. Se você não escolheu um pool diferente, seu agente será colocado no pool padrão.

Executar uma vez

Para agentes configurados para execução interativa, você pode optar por fazer com que o agente aceite apenas um trabalho. Para executar nesta configuração:

./run.sh --once

Os agentes nesse modo aceitam apenas um trabalho e, em seguida, giram para baixo normalmente (útil para execução em um serviço como Instâncias de Contêiner do Azure).

Executar como um serviço iniciado

Nós fornecemos o script ./svc.sh para você executar e gerenciar seu agente como um serviço launchd LaunchAgent. Esse script é gerado depois que você configura o agente. O serviço tem acesso à interface para executar os seus testes de interface.

Observação

Se preferir outras abordagens, pode usar qualquer tipo de mecanismo de serviço que preferir. Consulte Arquivos de serviço.

Fichas

Na seção a seguir, esses tokens são substituídos:

  • {agent-name}

  • {tfs-name}

Por exemplo, você configurou um agente (como mostrado no exemplo anterior) com o nome our-osx-agent. Nos exemplos seguintes, {tfs-name} é um dos seguintes:

  • Azure Pipelines: o nome da sua organização. Por exemplo, se você se conectar a https://dev.azure.com/fabrikam, o nome do serviço será vsts.agent.fabrikam.our-osx-agent

  • TFS: o nome do seu servidor TFS AT local. Por exemplo, se você se conectar a http://our-server:8080/tfs, o nome do serviço será vsts.agent.our-server.our-osx-agent

Comandos

Alterar para o diretório do agente

Por exemplo, se você instalou na subpasta myagent do seu diretório base:

cd ~/myagent$

Instalar

Comando:

./svc.sh install

Este comando cria um plist launchd que aponta para ./runsvc.sh. Esse script configura o ambiente (mais detalhes na seção a seguir) e inicia o host do agente.

Início

Comando:

./svc.sh start

Saída:

starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}

O número à esquerda é o PID se o serviço estiver em execução. Se o segundo número não for zero, ocorreu um problema.

Situação

Comando:

./svc.sh status

Saída:

status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist

Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}

O número esquerdo é o pid se o serviço estiver em execução. Se o segundo número não for zero, ocorreu um problema.

Parar

Comando:

./svc.sh stop

Saída:

stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist

Stopped

Desinstalar

Você deve parar antes de desinstalar.

Comando:

./svc.sh uninstall

Login e bloqueio automáticos

Normalmente, o serviço do agente é executado somente depois que o usuário faz logon. Se desejar que o serviço do agente seja iniciado automaticamente quando a máquina for reiniciada, pode configurá-la para iniciar sessão e bloquear automaticamente ao arrancar. Consulte Definir o Mac para iniciar sessão automaticamente durante o arranque - Suporte Apple.

Observação

Para mais informações, consulte o blog Terminally Geeky: use o login automático com mais segurança. O arquivo .plist mencionado nesse blog pode não estar mais disponível na fonte, mas uma cópia pode ser encontrada aqui: Lifehacker - Faça o OS X carregar sua área de trabalho antes de fazer login.

Atualizar variáveis de ambiente

Quando você configura o serviço, ele tira um instantâneo de algumas variáveis de ambiente úteis para seu usuário de logon atual, como PATH, LANG, JAVA_HOME, ANT_HOME e MYSQL_PATH. Se você precisar atualizar as variáveis (por exemplo, depois de instalar algum software novo):

./env.sh
./svc.sh stop
./svc.sh start

O instantâneo das variáveis de ambiente é armazenado no arquivo .env, no diretório raiz do agente. Pode também alterar esse arquivo diretamente para aplicar alterações às variáveis de ambiente.

Execute instruções antes do início do serviço

Você também pode definir suas próprias instruções e comandos para serem executados quando o serviço iniciar. Por exemplo, você pode configurar o ambiente ou chamar scripts.

  1. Editar runsvc.sh.

  2. Substitua a seguinte linha pelas instruções:

    # insert anything to setup env when running as a service
    

Arquivos de serviço

Quando você instala o serviço, alguns arquivos de serviço são colocados no lugar.

Arquivo de serviço .plist

Um arquivo de serviço .plist é criado:

~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Por exemplo:

~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist

./svc.sh install gera este arquivo a partir deste modelo: ./bin/vsts.agent.plist.template

Arquivo .service

./svc.sh start localiza o serviço lendo o arquivo .service, que contém o caminho para o arquivo de serviço plist descrito acima.

Mecanismos de serviço alternativos

Nós fornecemos o script ./svc.sh como uma maneira conveniente para você executar e gerenciar seu agente como um serviço launchd LaunchAgent. Mas você pode usar qualquer tipo de mecanismo de serviço que preferir.

Você pode usar o modelo descrito acima para facilitar a geração de outros tipos de arquivos de serviço. Por exemplo, você modifica o modelo para gerar um serviço que é executado como um daemon de inicialização se não precisar de testes de interface do usuário e não quiser configurar o logon e o bloqueio automáticos. Consulte Apple Developer Library: Creating Launch Daemons and Agents.

Substituir um agente

Para substituir um agente, siga as etapas Baixar e configurar o agente novamente.

Quando você configura um agente usando o mesmo nome de um agente que já existe, você é perguntado se deseja substituir o agente existente. Se responder Y, assegure-se de remover o agente (veja abaixo) que está a substituir. Caso contrário, após alguns minutos de conflitos, um dos agentes será desligado.

Remover e reconfigurar um agente

Para remover o agente:

  1. Pare e desinstale o serviço conforme explicado na seção anterior.

  2. Remova o agente.

    ./config.sh remove
    
  3. Introduza as suas credenciais.

Depois de remover o agente, você pode configurá-lo novamente .

Configuração não assistida

O agente pode ser configurado a partir de um script sem intervenção humana. Você deve passar --unattended e as respostas para todas as perguntas.

Para configurar um agente, ele deve saber a URL da sua organização ou coleção e as credenciais de alguém autorizado a configurar agentes. Todas as outras respostas são opcionais. Qualquer parâmetro de linha de comando pode ser especificado usando uma variável de ambiente: colocar o seu nome em maiúsculas e prefixar VSTS_AGENT_INPUT_. Por exemplo, VSTS_AGENT_INPUT_PASSWORD em vez de especificar --password.

Opções necessárias

  • --unattended - a configuração do agente não solicitará informações e todas as configurações devem ser fornecidas na linha de comando
  • --url <url> - URL do servidor. Por exemplo: https://dev.azure.com/myorganization ou http://my-azure-devops-server:8080/tfs
  • --auth <type> - tipo de autenticação. Os valores válidos são:
    • pat (Token de acesso pessoal) - A PAT é o único esquema que funciona com os Serviços de DevOps do Azure.
    • alt (autenticação básica)

Opções de autenticação

  • Se você escolheu --auth pat:
    • --token <token> - especifica o seu token de acesso pessoal
    • A PAT é o único esquema que funciona com os Serviços de DevOps do Azure.
  • Se você escolheu --auth negotiate ou --auth alt:
    • --userName <userName> - especifica um nome de usuário
    • --password <password> - especifica uma senha

Nomes de pool e agentes

  • --pool <pool> - nome do pool a que o agente se junte
  • --agent <agent> - nome do agente
  • --replace - Substitua o agente em um pool. Se outro agente estiver a ouvir pelo mesmo nome, começará a falhar devido a um conflito.

Configuração do agente

  • --work <workDirectory> - diretório de trabalho onde os dados do trabalho são armazenados. Por padrão, utiliza-se _work na raiz do diretório do agente. O diretório de trabalho pertence a um determinado agente e não deve ser compartilhado entre vários agentes.
  • --acceptTeeEula - aceite o Contrato de Licença de Usuário Final do Team Explorer Everywhere (somente macOS e Linux)
  • --disableloguploads - Não transmita nem envie a saída do log do console para o servidor. Em vez disso, você pode recuperá-los do sistema de arquivos do host do agente após a conclusão do trabalho.

Apenas grupo de implantação

  • --deploymentGroup - Configurar o agente como um agente do grupo de implantação
  • --deploymentGroupName <name> - usado com --deploymentGroup para especificar o grupo de implantação ao qual o agente deve aderir
  • --projectName <name> - usado com --deploymentGroup para definir o nome do projeto
  • --addDeploymentGroupTags - usado com --deploymentGroup para indicar que as tags do grupo de implantação devem ser adicionadas
  • --deploymentGroupTags <tags> - usado com --addDeploymentGroupTags para especificar a lista separada por vírgulas de tags para o agente do grupo de implantação - por exemplo, "web, db"

Apenas ambientes

  • --addvirtualmachineresourcetags - usado para indicar que as tags de recursos de ambiente devem ser adicionadas
  • --virtualmachineresourcetags <tags> - usado com --addvirtualmachineresourcetags para especificar a lista separada por vírgulas de tags para o agente de recursos de ambiente - por exemplo, "web, db"

./config.sh --help sempre lista as últimas respostas obrigatórias e opcionais.

Diagnóstico

Se você estiver tendo problemas com seu agente auto-hospedado, você pode tentar executar o diagnóstico. Depois de configurar o agente:

./run.sh --diagnostics

Isso irá passar por um conjunto de ferramentas de diagnóstico que pode ajudá-lo a solucionar o problema. O recurso de diagnóstico está disponível a partir da versão 2.165.0 do agente.

Diagnóstico de rede para agentes auto-hospedados

Defina o valor de Agent.Diagnostic para true para recolher logs adicionais que podem ser usados para solucionar problemas de rede de agentes autogeridos. Para obter mais informações, consulte Diagnóstico de rede para agentes auto-hospedados.

Ajuda sobre outras opções

Para saber mais sobre outras opções:

./config.sh --help

A ajuda fornece informações sobre alternativas de autenticação e configuração não assistida.

Capacidades

As capacidades do seu agente são catalogadas e divulgadas no pool, de modo que apenas as compilações e versões que ele pode gerir sejam atribuídas a ele. Consulte as capacidades do agente de construção e liberação .

Em muitos casos, depois de implantar um agente, você precisará instalar software ou utilitários. Geralmente, você deve instalar em seus agentes qualquer software e ferramentas que você usa em sua máquina de desenvolvimento.

Por exemplo, se sua compilação incluir a tarefa npm, a compilação não será executada a menos que haja um agente de compilação no pool que tenha o npm instalado.

Importante

Os recursos incluem todas as variáveis de ambiente e os valores que são definidos quando o agente é executado. Se algum desses valores for alterado enquanto o agente estiver em execução, o agente deverá ser reiniciado para pegar os novos valores. Depois de instalar o novo software em um agente, você deve reiniciar o agente para que o novo recurso apareça no pool, para que a compilação possa ser executada.

Se quiser excluir variáveis de ambiente como recursos, você pode designá-las definindo uma variável de ambiente VSO_AGENT_IGNORE com uma lista delimitada por vírgulas de variáveis a serem ignoradas.

Perguntas Frequentes

Como posso certificar-me de que tenho a versão mais recente do agente?

  1. Navegue até ao separador Pools de Agentes.

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

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

      Escolha Configurações da organização.

    3. Escolha grupos de agentes.

      Escolher o separador 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 de coleção.

    3. Escolha pools de Agentes.

      Escolha Grupos de Agents.

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

      Configurações da Coleção , 2019.

    2. Escolha conjuntos de agentes.

      Escolha equipas de agentes, 2019.

  2. Clique no pool que contém o agente.

  3. Verifique se o agente está habilitado.

  4. Navegue até a guia de recursos:

    1. Na guia Pools de agentes, selecione o pool de agentes desejado.

      Em Pools de agentes, selecione o pool de agentes desejado.

    2. Selecione Agentes e escolha o agente desejado.

      Selecione Agentes e escolha o agente.

    3. Escolha a guia Recursos.

      Escolha a guia Recursos.

      Observação

      Os agentes hospedados pela Microsoft não exibem recursos do sistema. Para obter uma lista de software instalado em agentes hospedados pela Microsoft, consulte Usar um agente hospedado pela Microsoft.

    1. No separador grupos de agentes, selecione o grupo desejado.

      Selecione o pool desejado.

    2. Selecione Agentes e escolha o agente desejado.

      Selecione Agentes e escolha o agente desejado.

    3. Escolha o separador Capacidades.

      guia Capacidades do agente.

    1. No separador pools de agentes, selecione o pool desejado.

      Selecione a guia desejada, 2019.

    2. Selecione Agentes e escolha o agente desejado.

      Escolha o agente desejado, 2019.

    3. Escolha a guia Recursos.

      Escolha a guia Recursos, 2019.

  5. Procure a capacidade Agent.Version. Você pode verificar esse valor em relação à versão mais recente do agente publicada. Consulte do Azure Pipelines Agent e verifique na página o número de versão mais alto listado.

  6. Cada agente se atualiza automaticamente quando executa uma tarefa que requer uma versão mais recente do agente. Se quiser atualizar manualmente alguns agentes, clique com o botão direito do mouse no pool e selecione Atualizar todos os agentes.

Posso atualizar meus agentes que fazem parte de um pool do Azure DevOps Server?

Sim. A partir do Azure DevOps Server 2019, você pode configurar seu servidor para procurar os arquivos do pacote do agente em um disco local. Essa configuração substituirá a versão padrão que acompanhava o servidor no momento de seu lançamento. Esse cenário também se aplica quando o servidor não tem acesso à Internet.

  1. Em um computador com acesso à Internet, baixe a versão mais recente dos arquivos do pacote do agente (no formato .zip ou .tar.gz) na página Lançamentos do GitHub do Azure Pipelines Agent.

  2. Transfira os arquivos de pacote baixados para cada Camada de Aplicativo do Servidor de DevOps do Azure usando um método de sua escolha (como unidade USB, transferência de rede e assim por diante). Coloque os arquivos do agente na seguinte pasta:

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • macOS: usr/share/Microsoft/Azure DevOps/Agents

Crie a pasta Agents se ela não estiver presente.

  1. Está tudo pronto! Seu Servidor de DevOps do Azure agora usará os arquivos locais sempre que os agentes forem atualizados. Cada agente se atualiza automaticamente quando executa uma tarefa que requer uma versão mais recente do agente. Mas se você quiser atualizar manualmente alguns agentes, clique com o botão direito do mouse no pool e escolha Atualizar todos os agentes.

Como posso certificar-me de que tenho a versão mais recente do agente?

  1. Navegue até ao separador 'Pools de Agentes' :

    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 grupos de agentes.

      Escolha o separador 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 de coleção.

    3. Escolha Pools de Agentes.

      Escolha Grupos de agentes.

    1. Escolha Azure DevOps, Configurações da Coleção.

      Configurações da Coleção, 2019.

    2. Escolha Grupos de Agentes.

      Escolher pools de agentes, 2019.

  2. Clique no pool que contém o agente.

  3. Verifique se o agente está habilitado.

  4. Navegue até a guia de recursos:

    1. Na guia Pools de agentes, selecione o pool de agentes desejado.

      Em Pools de agentes, selecione o pool de agentes desejado.

    2. Selecione Agentes e escolha o agente desejado.

      Selecione Agentes e escolha o agente.

    3. Escolha a guia Capacidades.

      Escolha a guia Recursos.

      Observação

      Os agentes hospedados pela Microsoft não exibem recursos do sistema. Para obter uma lista de software instalado em agentes hospedados pela Microsoft, consulte Usar um agente hospedado pela Microsoft.

    1. Na aba pools de agentes, selecione o pool desejado.

      Selecione o pool desejado.

    2. Selecione Agentes e escolha o agente desejado.

      Selecione Agentes e escolha o agente desejado.

    3. Escolha a aba Capacidades.

      guia Capacidades do agente.

    1. Na guia pools de agentes, selecione o pool desejado.

      Selecione a guia desejada, 2019.

    2. Selecione Agentes e escolha o agente desejado.

      Escolha o agente desejado, 2019.

    3. Escolha a guia Capacidades.

      Escolha a guia Recursos, 2019.

  5. Procure pela capacidade Agent.Version. Você pode verificar esse valor em relação à versão mais recente do agente publicada. Consulte o Azure Pipelines Agent e, na página, verifique o número de versão mais alto listado.

  6. Cada agente se atualiza automaticamente quando executa uma tarefa que requer uma versão mais recente do agente. Se quiser atualizar manualmente alguns agentes, clique com o botão direito do mouse no pool e selecione Atualizar todos os agentes.

Posso atualizar meus agentes que fazem parte de um pool do Azure DevOps Server?

Sim. A partir do Azure DevOps Server 2019, você pode configurar seu servidor para procurar os arquivos do pacote do agente em um disco local. Essa configuração substituirá a versão padrão que acompanhava o servidor no momento de seu lançamento. Esse cenário também se aplica quando o servidor não tem acesso à Internet.

  1. Em um computador com acesso à Internet, baixe a versão mais recente dos arquivos do pacote do agente (no formato .zip ou .tar.gz) na página Lançamentos do GitHub do Azure Pipelines Agent.

  2. Transfira os arquivos de pacote baixados para cada Camada de Aplicativo do Servidor de DevOps do Azure usando um método de sua escolha (como unidade USB, transferência de rede e assim por diante). Coloque os arquivos do agente na seguinte pasta:

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • macOS: usr/share/Microsoft/Azure DevOps/Agents

Crie a pasta Agents se não estiver presente.

  1. Está tudo pronto! Seu Servidor de DevOps do Azure agora usará os arquivos locais sempre que os agentes forem atualizados. Cada agente se atualiza automaticamente quando executa uma tarefa que requer uma versão mais recente do agente. Mas se você quiser atualizar manualmente alguns agentes, clique com o botão direito do mouse no pool e escolha Atualizar todos os agentes.

Onde posso saber mais sobre como funciona o serviço lançado?

Apple Developer Library: Criando daemons de inicialização e agentes

Estou executando um firewall e meu código está no Azure Repos. Com quais URLs o agente precisa se comunicar?

Se você estiver executando um agente em uma rede segura atrás de um firewall, certifique-se de que o agente possa iniciar a comunicação com os seguintes URLs e endereços IP.

URL do domínio Descrição
https://{organization_name}.pkgs.visualstudio.com Azure DevOps Packaging API para organizações que usam o domínio {organization_name}.visualstudio.com
https://{organization_name}.visualstudio.com Para organizações que usam o domínio {organization_name}.visualstudio.com
https://{organization_name}.vsblob.visualstudio.com Telemetria de DevOps do Azure para organizações que usam o domínio {organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com Release Management Services para organizações que usam o domínio {organization_name}.visualstudio.com
https://{organization_name}.vssps.visualstudio.com Serviços da Plataforma Azure DevOps para organizações que usam o domínio {organization_name}.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com Serviços de Gerenciamento de Teste de DevOps do Azure para organizações que usam o domínio {organization_name}.visualstudio.com
https://*.blob.core.windows.net Artefatos do Azure
https://*.dev.azure.com Para organizações que usam o domínio dev.azure.com
https://*.vsassets.io Artefatos do Azure via CDN
https://*.vsblob.visualstudio.com Telemetria de DevOps do Azure para organizações que usam o domínio dev.azure.com
https://*.vssps.visualstudio.com Serviços da Plataforma Azure DevOps para organizações que usam o domínio dev.azure.com
https://*.vstmr.visualstudio.com Serviços de Gerenciamento de Teste de DevOps do Azure para organizações que usam o domínio dev.azure.com
https://app.vssps.visualstudio.com Para organizações que usam o domínio {organization_name}.visualstudio.com
https://dev.azure.com Para organizações que usam o domínio dev.azure.com
https://login.microsoftonline.com Início de sessão no Microsoft Entra
https://management.core.windows.net APIs de Gerenciamento do Azure
https://vstsagentpackage.azureedge.net Pacote do agente

Para garantir que sua organização funcione com qualquer firewall ou restrições de IP existentes, certifique-se de que dev.azure.com e *dev.azure.com estejam abertas e atualize seus IPs permitidos para incluir os seguintes endereços IP, com base na sua versão de IP. Se estiveres a autorizar os endereços IP 13.107.6.183 e 13.107.9.183, deixa-os no lugar, pois não precisas de os remover.

gamas IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

faixas IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Observação

Para obter mais informações sobre endereços permitidos, consulte Listas de endereços permitidas e conexões de rede.

Como posso executar o agente com um certificado autoassinado?

Execute o agente com certificado autoassinado

Como executar o agente atrás de um proxy web?

Executar o agente atrás de um proxy web

Como reiniciar o agente

Se você estiver executando o agente interativamente, consulte as instruções de reinicialização em Executar interativamente. Se você estiver executando o agente como um serviço, siga as etapas para Parar e, em seguida, Iniciar agente.

Como configuro o agente para ignorar um proxy da Web e me conectar ao Azure Pipelines?

Se quiser que o agente ignore seu proxy e se conecte diretamente ao Azure Pipelines, configure seu proxy da Web para permitir que o agente acesse as seguintes URLs.

Para organizações que usam o domínio *.visualstudio.com:

https://login.microsoftonline.com
https://app.vssps.visualstudio.com 
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com

Para organizações que usam o domínio dev.azure.com:

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com

Para garantir que sua organização funcione com qualquer firewall ou restrições de IP existentes, certifique-se de que dev.azure.com e *dev.azure.com estejam abertas e atualize seus IPs permitidos para incluir os seguintes endereços IP, com base na sua versão de IP. Se você estiver listando os endereços IP 13.107.6.183 e 13.107.9.183, deixe-os no lugar, pois não precisa removê-los.

faixas IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

intervalos IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Observação

Este procedimento permite que o agente ignore um proxy da Web. Seu pipeline de compilação e scripts ainda devem tratar de contornar o uso do seu proxy da Web para cada tarefa e ferramenta que você executa na sua compilação.

Por exemplo, se estiveres a usar uma tarefa NuGet, deves configurar o teu proxy da Web para ignorar a URL do servidor que hospeda o feed do NuGet que estás a usar.

Estou usando o TFS e as URLs nas seções acima não funcionam para mim. Onde posso obter ajuda?

Configurações do site e segurança

Eu uso o TFS local e não vejo alguns desses recursos. Porque não?

Alguns desses recursos estão disponíveis apenas no Azure Pipelines e ainda não estão disponíveis localmente. Alguns recursos estão disponíveis no local se você tiver atualizado para a versão mais recente do TFS.

Pré-requisitos do TFVC

Se você estiver usando o TFVC, também precisará do Oracle Java JDK 1.6 ou superior. (O Oracle JRE e o OpenJDK não são suficientes para essa finalidade.)

plugin TEE é usado para a funcionalidade TFVC. Ele tem um EULA, que você deve aceitar durante a configuração se você planeja trabalhar com TFVC.

Como o plug-in TEE não é mais mantido e contém algumas dependências Java desatualizadas, a partir do Agent 2.198.0 ele não está mais incluído na distribuição do agente. No entanto, o plug-in TEE é baixado durante a execução da tarefa de checkout se estiveres a efetuar o checkout de um repositório TFVC. O plugin TEE é removido após a execução do trabalho.

Observação

Nota: Você pode notar que sua tarefa de checkout está demorando muito para começar a funcionar devido a esse mecanismo de download.

Se o agente estiver sendo executado atrás de um proxy ou firewall, você deverá aceitar para garantir o acesso ao seguinte site: https://vstsagenttools.blob.core.windows.net/. O plugin TEE é baixado deste endereço.

Se você estiver usando um agente auto-hospedado e enfrentando problemas com o download de TEE, você pode instalar o TEE manualmente:

  1. Defina a variável de ambiente ou de pipeline DISABLE_TEE_PLUGIN_REMOVAL para true. Essa variável impede que o agente remova o plug-in TEE após o check-out do repositório TFVC.
  2. Baixe manualmente a versão 14.135.0 do TEE-CLC nos lançamentos do GitHub do Team Explorer Everywhere.
  3. Extraia o conteúdo de TEE-CLC-14.135.0 pasta para <agent_directory>/externals/tee.