Agentes macOS hospedados por conta própria
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Este artigo fornece diretrizes para usar o software do agente 3.x com o Azure DevOps Services e as versões atuais do Azure DevOps Server. Para obter uma lista das versões do Servidor do Azure DevOps que dão suporte ao agente 3.x, consulte O Servidor do Azure DevOps dá suporte ao 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.
Nota
Este artigo descreve como configurar um agente auto-hospedado . Se você estiver usando o Azure DevOps Services e um agente hospedado pela Microsoft atender às suas necessidades, você poderá ignorar a configuração de um agente auto-hospedado do macOS.
Saiba mais sobre agentes
Se você já sabe o que é um agente e como ele funciona, fique à vontade para ir direto para as seções a seguir. Mas se você quiser mais informações sobre o que eles fazem e como eles funcionam, consulte Azure Pipelines agents.
Verificar pré-requisitos
- Sistemas operacionais com suporte
- 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"
- x64
- Git – Git 2.9.0 ou superior (versão mais recente recomendada – você pode instalar facilmente 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, confira Pré-requisitos do TFVC.
Preparar permissões
Se você estiver criando a partir de um repositório de Subversão, deverá instalar o cliente subversion no computador.
Você deve executar a instalação do agente manualmente na primeira vez. Depois de ter uma ideia de como os agentes funcionam ou se você quiser automatizar a configuração de muitos agentes, considere usar configuração não supervisionada.
Segurança da informação para agentes auto-hospedados
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, pois 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 destino para ataques de RCE (Execução remota de código).
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, para o computador em que o agente é executado, para os usuários que têm acesso de gravação à definição de Pipeline, os repositórios git em que o yaml está armazenado, ou o grupo de usuários que controlam o acesso ao pool para novos pipelines.
É uma prática recomendada fazer com que a identidade que executa o agente seja diferente da identidade que tem 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 permitido ao computador do agente propriamente dito, e às pastas de 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 build ou obter arquivos de log para poder relatar falhas do Azure DevOps.
Decidir 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 precisa concluir essas etapas. O agente não usará as credenciais dessa pessoa na operação diária, mas será necessário concluir o registro. Saiba mais sobre como os agentes se comunicam.
Confirmar se o usuário tem permissão
Verifique se a conta de usuário que você usará tem permissão para registrar o agente.
O usuário é um proprietário da organização do Azure DevOps ou administrador do TFS ou do Azure DevOps Server? Parar aqui, você tem permissão.
Caso contrário:
Abra um navegador e navegue até a guia Pools de agentes para sua organização do Azure Pipelines ou Azure DevOps Server ou servidor TFS:
Entre em sua organização (
https://dev.azure.com/{yourorganization}
).Escolha Azure DevOps, Configurações da organização.
Escolha Pools de agentes.
Entre em sua coleção de projetos (
http://your-server/DefaultCollection
).Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Selecione o pool no lado direito da página e clique em Segurança.
Se a conta de usuário que você vai usar não for mostrada, obtenha um administrador para adicioná-la. O administrador pode ser um administrador do pool de agentes, um proprietário da organização do Azure DevOps ou um administrador do TFS ou do Azure DevOps Server .
Se for um agente do grupo de implantação , o administrador poderá ser um administrador do grupo de implantação, um proprietário da organização do Azure DevOpsou um administrador do TFS ou do Azure DevOps Server.
Você pode adicionar um usuário à função de administrador do grupo de implantação na guia Segurança na página Grupos de Implantação no Azure Pipelines.
Nota
Se você vir uma mensagem como esta: Desculpe, não foi possível adicionar a identidade. Tente uma identidade diferente., você provavelmente seguiu as etapas acima para um proprietário da 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
Faça logon no computador usando a conta para a qual você preparou permissões, conforme explicado na seção anterior.
No navegador da Web, entre no Azure Pipelines e navegue até a guia Pools de agentes:
Entre em sua organização (
https://dev.azure.com/{yourorganization}
).Escolha Azure DevOps, Configurações da organização.
Escolha Pools de agentes.
Entre em sua coleção de projetos (
http://your-server/DefaultCollection
).Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Selecione o pool Padrão, selecione a guia Agentes e escolha Novo agente.
Na caixa de diálogo Obter o agente, clique em macOS.
Clique no botão Baixar.
Siga as instruções na página.
Desmarque o atributo estendido no arquivo tar:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Desempacote o agente no diretório de sua escolha.
cd
para esse diretório e execute./config.sh
. Verifique se o caminho para o diretório não contém espaços, porque as ferramentas e os scripts nem sempre realizam corretamente o escape dos espaços.
URL do servidor
Azure Pipelines: https://dev.azure.com/{your-organization}
Servidor Azure DevOps: https://{your_server}/tfs
Tipo de autenticação
Quando você registrar um agente, escolha entre os seguintes tipos de autenticação e a instalaçã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
- Alternativa Conecte-se ao TFS ou ao Azure DevOps Server usando a autenticação Básica. Ao selecionar alternativo, você será solicitado a fornecer suas credenciais.
Executar de maneira interativa
Para obter orientação sobre se o agente deve ser executado no modo interativo ou como um serviço, consulte Agents: Interactive vs. service.
Para executar o agente interativamente:
Se você estiver executando o agente como um serviço, desinstale o serviço.
Execute o agente.
./run.sh
Para reiniciar o agente, pressione Ctrl+C e execute run.sh
para reiniciá-lo.
Para usar seu agente, execute um trabalho usando o pool do agente. Se você não escolheu um pool diferente, seu agente é colocado no pool Padrão.
Executar uma vez
Para agentes configurados para serem executados interativamente, você pode optar por fazer com que o agente aceite apenas uma tarefa. Para executar nesta configuração:
./run.sh --once
Os agentes nesse modo aceitam apenas um trabalho e, em seguida, giram normalmente (útil para execução em um serviço como as Instâncias de Contêiner do Azure).
Executar como serviço launchd
Fornecemos o script ./svc.sh
para que você execute e gerencie seu agente como serviço launchd
LaunchAgent. Esse script é gerado depois que você configura o agente. O serviço tem acesso à interface do usuário para executar seus testes de interface.
Nota
Se preferir outras abordagens, você poderá usar qualquer tipo de mecanismo de serviço que preferir. Confira Arquivos do serviço.
Tokens
Na seção a seguir, esses tokens são substituídos:
{agent-name}
{tfs-name}
Por exemplo, você configurou um agente (conforme mostrado no exemplo anterior) com o nome our-osx-agent
. Nos exemplos a seguir, {tfs-name}
é uma das seguintes opções:
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 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ê tiver instalado na subpasta myagent
do diretório base:
cd ~/myagent$
Instalar
Comando:
./svc.sh install
Esse comando cria um launchd
plist que aponta para ./runsvc.sh
. Esse script configura o ambiente (mais detalhes na seção a seguir) e inicia o host do agente.
Começar
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 esquerdo será o pid se o serviço estiver em execução. Se o segundo número não for zero, ocorreu um problema.
Estado
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 será 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
Logon e bloqueio automáticos
Normalmente, o serviço de agente é executado somente depois que o usuário faz logon. Se você quiser que o serviço do agente seja iniciado automaticamente quando o computador for reiniciado, você poderá configurar o computador para fazer logon e bloquear automaticamente na inicialização. Consulte Definir seu Mac para fazer logon automaticamente durante a inicialização – Suporte da Apple.
Nota
Para obter mais informações, confira o blog Terminally Geeky: use o logon automático com mais segurança. O arquivo .plist mencionado nesse blog pode não estar mais disponível na origem, mas uma cópia pode ser encontrada aqui: Lifehacker – Faça o OS X carregar sua área de trabalho antes de fazer logon.
Atualizar variáveis de ambiente
Quando você configura o serviço, ele tira um instantâneo de algumas variáveis de ambiente úteis para o usuário atualmente logado, como PATH, LANG, JAVA_HOME, ANT_HOME e MYSQL_PATH. Se você precisar atualizar as variáveis (por exemplo, depois de instalar algum novo software):
./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, você também pode alterar o arquivo diretamente para aplicar alterações de variável de ambiente.
Executar instruções antes do início do serviço
Você também pode definir suas próprias instruções e comandos a serem executados quando o serviço for iniciado. Por exemplo, você pode configurar o ambiente ou chamar scripts.
Edite
runsvc.sh
.Substitua a seguinte linha por suas 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.
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 esse 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
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ê modificará o modelo para gerar um serviço executado como um daemon de inicialização se você não precisar de testes de interface do usuário e não quiser configurar o logon e o bloqueio automáticos. Confira Biblioteca de Desenvolvedores da Apple: como criar daemons e agentes de inicialização.
Substituir um agente
Para substituir um agente, siga novamente as etapas de Baixar e configurar o agente.
Ao configurar um agente usando o mesmo nome de um agente que já existe, você será perguntado se deseja substituir o agente existente. Se você responder Y
, remova o agente (veja abaixo) que você está substituindo. Caso contrário, após alguns minutos de conflitos, um dos agentes será desligado.
Remover e reconfigurar um agente
Para remover o agente:
Pare e desinstale o serviço, conforme explicado na seção anterior.
Remova o agente.
./config.sh remove
Insira suas credenciais.
Depois de remover o agente, você pode configurá-lo novamente.
Configuração autônoma
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 para sua organização ou coleção e 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: coloque seu nome em maiúsculas e adicione VSTS_AGENT_INPUT_
como prefixo.
Por exemplo, VSTS_AGENT_INPUT_PASSWORD
em vez de especificar --password
.
Opções necessárias
--unattended
- a instalaçã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) – PAT é o único esquema que funciona com o Azure DevOps Services.alt
(autenticação básica)
Opções de autenticação
- Se você escolheu
--auth pat
:--token <token>
– especifica seu token de acesso pessoal- PAT é o único esquema que funciona com o Azure DevOps Services.
- 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 de agente
-
--pool <pool>
– nome do pool para o agente ingressar --agent <agent>
- nome do agente-
--replace
– substituir o agente em um pool. Se outro agente estiver escutando com o mesmo nome, ele começará a falhar com um conflito
Configuração do agente
--work <workDirectory>
– diretório de trabalho em que os dados do trabalho são armazenados. Usa_work
por padrão, 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
– aceitar o Contrato de Licença do Usuário Final do Team Explorer Everywhere (somente para macOS e Linux)--disableloguploads
- não transmita nem envie saída de 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.
Somente grupo de implantação
-
--deploymentGroup
– configurar o agente como um agente de grupo de implantação --deploymentGroupName <name>
- usado com--deploymentGroup
para especificar o grupo de implantação ao qual o agente deve se juntar--projectName <name>
- usado com--deploymentGroup
para definir o nome do projeto-
--addDeploymentGroupTags
– usado com--deploymentGroup
para indicar que as tags de 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"
Somente ambientes
--addvirtualmachineresourcetags
- usado para indicar que tags de recursos do 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 respostas mais recentes necessárias e opcionais.
Diagnóstico
Se você estiver tendo problemas com seu agente auto-hospedado, tente executar o diagnóstico. Depois de configurar o agente:
./run.sh --diagnostics
Isso será executado por meio de um pacote 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
coletar logs adicionais que podem ser usados para solucionar problemas de rede para agentes auto-hospedados. Para obter mais informações,confira Diagnóstico de rede para agentes auto-hospedados.
Ajuda em 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 autônoma.
Capacidades
Os recursos do agente são catalogados e anunciados no pool para que apenas os builds e lançamentos que ele possa manipular sejam atribuídos a ele. Confira Funcionalidades do agente de build e lançamento.
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 usadas em seu computador de desenvolvimento.
Por exemplo, se o build incluir a tarefa npm, o build não será executado, a menos que haja um agente de build no pool que tenha o npm instalado.
Importante
As capacidades incluem todas as variáveis de ambiente e os valores definidos quando o agente é executado. Se qualquer um desses valores for alterado enquanto o agente estiver em execução, o agente deverá ser reiniciado para selecionar os novos valores. Depois de instalar um novo software em um agente, você deve reiniciar o agente para que o novo recurso apareça no pool, para que o build possa ser executado.
Se você quiser excluir variáveis de ambiente como funcionalidades, poderá 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 Freqüentes
Como fazer ter certeza de que tenho a versão mais recente do agente?
Navegue até a guia Pools de agentes:
Entre em sua organização (
https://dev.azure.com/{yourorganization}
).Escolha Azure DevOps, Configurações da organização.
Escolha Pools de agentes.
Entre em sua coleção de projetos (
http://your-server/DefaultCollection
).Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Clique no pool que contém o agente.
Verifique se o agente está habilitado.
Navegue até a guia funcionalidades:
Na guia Pools de agentes, selecione o pool de agentes desejado.
Selecione Agentes e escolha o agente desejado.
Selecione a guia Funcionalidades.
Nota
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.
Na guia Pools de agentes, selecione o pool desejado.
Selecione Agentes e escolha o agente desejado.
Selecione a guia Funcionalidades.
Aba de capacidades do agente
Na guia Pools de agentes, selecione o pool desejado.
Selecione Agentes e escolha o agente desejado.
Selecione a guia Funcionalidades.
Procure a funcionalidade
Agent.Version
. Você pode verificar esse valor em relação à versão publicada mais recente do agente. Confira Agente do Azure Pipelines e confira a página para ver o número de versão mais alto listado.Cada agente se atualiza automaticamente quando executa uma tarefa que requer uma versão mais recente do agente. Se você 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 de servidores do Azure DevOps?
Sim. A partir do Azure DevOps Server 2019, você pode configurar o servidor para procurar os arquivos de pacote do agente em um disco local. Essa configuração substituirá a versão padrão que veio com o servidor no momento de sua versão. Esse cenário também se aplica quando o servidor não tem acesso à Internet.
Em um computador com acesso à Internet, baixe a versão mais recente dos arquivos de pacote do agente (no formulário .zip ou .tar.gz) na página Versões do GitHub do Agente do Azure Pipelines.
Transfira os arquivos de pacote baixados para cada Camada de Aplicativo do Servidor do Azure DevOps 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 Agentes se ela não estiver presente.
- Você está pronto! O servidor do Azure DevOps 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 fazer ter certeza de que tenho a versão mais recente do agente?
Navegue até a guia Pools de agentes:
Entre em sua organização (
https://dev.azure.com/{yourorganization}
).Escolha Azure DevOps, Configurações da organização.
Escolha Pools de agentes.
Entre em sua coleção de projetos (
http://your-server/DefaultCollection
).Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Escolha Azure DevOps, Configurações de coleção.
Escolha Pools de agentes.
Clique no pool que contém o agente.
Verifique se o agente está habilitado.
Navegue até a guia funcionalidades:
Na guia Pools de agentes, selecione o pool de agentes desejado.
Selecione Agentes e escolha o agente desejado.
Selecione a guia Funcionalidades.
Nota
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.
Na guia Pools de agentes, selecione o pool desejado.
Selecione Agentes e escolha o agente desejado.
Selecione a guia Funcionalidades.
Aba de capacidades do agente.
Na guia Pools de agentes, selecione o pool desejado.
Selecione Agentes e escolha o agente desejado.
Selecione a guia Funcionalidades.
Procure a funcionalidade
Agent.Version
. Você pode verificar esse valor em relação à versão publicada mais recente do agente. Confira Agente do Azure Pipelines e confira a página para ver o número de versão mais alto listado.Cada agente se atualiza automaticamente quando executa uma tarefa que requer uma versão mais recente do agente. Se você 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 de servidores do Azure DevOps?
Sim. A partir do Azure DevOps Server 2019, você pode configurar o servidor para procurar os arquivos de pacote do agente em um disco local. Essa configuração substituirá a versão padrão que veio com o servidor no momento de sua versão. Esse cenário também se aplica quando o servidor não tem acesso à Internet.
Em um computador com acesso à Internet, baixe a versão mais recente dos arquivos de pacote do agente (no formulário .zip ou .tar.gz) na página Versões do GitHub do Agente do Azure Pipelines.
Transfira os arquivos de pacote baixados para cada Camada de Aplicativo do Servidor do Azure DevOps 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 Agentes se ela não estiver presente.
- Você está pronto! O servidor do Azure DevOps 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 o serviço iniciado funciona?
Biblioteca de Desenvolvedores da Apple: como criar daemons e agentes de inicialização
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, verifique se o agente pode iniciar a comunicação com as SEGUINTEs URLs e endereços IP.
URL do Domínio | Descrição |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
API de Empacotamento do Azure DevOps 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 do Azure DevOps para organizações que usam o domínio {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Serviços de Gerenciamento de Versão para organizações que usam o domínio {organization_name}.visualstudio.com |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services para organizações que usam o domínio {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Serviços de Gerenciamento de Teste do Azure DevOps 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 |
Azure Artifacts via CDN |
https://*.vsblob.visualstudio.com |
Telemetria do Azure DevOps para organizações que usam o domínio dev.azure.com |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services para organizações que usam o domínio dev.azure.com |
https://*.vstmr.visualstudio.com |
Serviços de Gerenciamento de Teste do Azure DevOps 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 |
Login do 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 quaisquer restrições de IP ou firewall existentes, certifique-se de que dev.azure.com
e *dev.azure.com
estejam abertos e atualize seus IPs permitidos para incluir os seguintes endereços IP, com base em sua versão de IP. Se você estiver atualmente permitindo a listagem dos endereços IP 13.107.6.183
e 13.107.9.183
, deixe-os no local, pois você não precisa removê-los.
Intervalos 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
Nota
Para obter mais informações sobre endereços permitidos, consulte Listas de endereços permitidas e conexões de rede.
Como fazer para executar o agente com um certificado autoassinado?
Executar o agente com um certificado autoassinado
Como fazer para executar o agente por trás de um proxy Web?
Executar o agente por trá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 Iniciar o agente.
Como configurar o agente para ignorar um proxy Web e conectar-se ao Azure Pipelines?
Se você quiser que o agente ignore seu proxy e se conecte diretamente ao Azure Pipelines, configure seu proxy Web para permitir que o agente acesse as URLs a seguir.
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 quaisquer restrições de IP ou firewall existentes, verifique se dev.azure.com
e *dev.azure.com
estão abertos e atualize seus IPs permitidos para incluir os seguintes endereços IP, de acordo com a versão do seu IP. Se você estiver atualmente permitindo a listagem dos endereços IP 13.107.6.183
e 13.107.9.183
, deixe-os no local, pois você não precisa removê-los.
Intervalos 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
Nota
Esse procedimento permite que o agente ignore um proxy Web. O pipeline de build e os scripts ainda precisam lidar com o bypass do proxy Web para cada tarefa e ferramenta executada em seu build.
Por exemplo, se você estiver usando uma tarefa NuGet, deverá configurar seu proxy Web para dar suporte a ignorar a URL do servidor que hospeda o feed NuGet que você está usando.
Estou usando o TFS e as URLs nas seções acima não funcionam para mim. Onde posso obter ajuda?
Uso o TFS local e não vejo alguns desses recursos. Por que não?
Alguns desses recursos estão disponíveis apenas no a do Azure Pipelines e ainda não estão disponíveis localmente. Alguns recursos estarão disponíveis localmente 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.)
O plug-in TEE é usado para a funcionalidade do TFVC. Ele tem um EULA, que você deve aceitar durante a configuração se planeja trabalhar com o TFVC.
Como o plug-in do TEE não é mais mantido e contém algumas dependências java desatualizadas, a partir do Agente 2.198.0, ele não está mais incluído na distribuição do agente. No entanto, o plug-in TEE será baixado durante a execução da tarefa de check-out se você estiver fazendo check-out de um repositório TFVC. O plug-in do TEE é removido após a execução do trabalho.
Nota
Observação: você pode observar que sua tarefa de check-out está demorando muito para começar a funcionar devido a esse mecanismo de download.
Se o agente estiver em execução atrás de um proxy ou firewall, você deverá aceitar garantir o acesso ao seguinte site: https://vstsagenttools.blob.core.windows.net/
. O plug-in do TEE é baixado desse endereço.
Se você estiver usando um agente auto-hospedado e enfrentando problemas com o download do TEE, poderá instalar o TEE manualmente:
- Defina a variável de pipeline ou ambiente
DISABLE_TEE_PLUGIN_REMOVAL
comotrue
. Essa variável impede que o agente remova o plug-in do TEE após o check-out do repositório TFVC. - Baixe o TEE-CLC versão 14.135.0 manualmente de Versões do GitHub do Team Explorer Everywhere.
- Extraia o conteúdo da pasta
TEE-CLC-14.135.0
para<agent_directory>/externals/tee
.