Agentes hospedados pela Microsoft

Azure DevOps Services

Os agentes hospedados pela Microsoft só estão disponíveis com o Azure DevOps Services, que está hospedado na nuvem. Você não pode usar agentes hospedados pela Microsoft ou o pool de agentes do Azure Pipelines com TFS local ou Azure DevOps Server. Com essas versões locais, você deve usar agentes auto-hospedados.

Importante

Select a version from Azure DevOps Content Version selector.

Selecione a versão deste artigo que corresponde à sua plataforma e versão. O seletor de versão está acima do índice. pesquise sua plataforma e versão do Azure DevOps.

Se os pipelines estiverem no Azure Pipelines, você terá uma opção conveniente para executar seus trabalhos com um agente hospedado da Microsoft. Com os agentes hospedados pela Microsoft, a manutenção e as atualizações são feitas para você. Você sempre obtém a versão mais recente da imagem da VM especificada no seu pipeline. Sempre que você executa um pipeline, obtém uma nova máquina virtual para cada trabalho no pipeline. A máquina virtual é descartada após um trabalho (o que significa que qualquer alteração feita por um trabalho no sistema de arquivos de máquina virtual, como a verificação de código, não ficará disponível para o próximo trabalho). Os agentes hospedados pela Microsoft podem executar trabalhos diretamente na VM ou em um contêiner.

O Azure Pipelines fornece um pool de agente predefinido, chamado Azure Pipelines com agentes hospedados pela Microsoft.

Para muitas equipes, essa é a maneira mais simples de executar seus trabalhos. Você pode experimentá-la primeiro e ver se ela funciona para seu build ou sua implantação. Caso contrário, você pode usar agentes do conjunto de dimensionamento ou um agente auto-hospedado.

Dica

Você pode experimentar um agente hospedado pela Microsoft sem custo.

Software

O pool de agentes do Azure Pipelines oferece várias opções de imagens de máquina virtual, cada uma incluindo uma ampla gama de ferramentas e software.

Imagem Especificação do Agente do Editor Clássico Rótulo da imagem de VM do YAML Software incluído
Windows Server 2022 com Visual Studio 2022 windows-2022 windows-latest OU windows-2022 Link
Windows Server 2019 com Visual Studio 2019 windows-2019 windows-2019 Link
Ubuntu 22.04 ubuntu-22.04 ubuntu-latest OU ubuntu-22.04 Link
Ubuntu 20.04 ubuntu-20.04 ubuntu-20.04 Link
macOS 13 Ventura macOS-13 macOS-13 Link
macOS 12 Monterey macOS-12 macOS-latest OU macOS-12 Link
macOS 11 Big Sur macOS-11 macOS-11 Link

A imagem padrão do agente para pipelines de build clássicos é windows-2019 e a imagem de agente padrão para pipelines de build do YAML é ubuntu-latest. Para obter mais informações, confira Designar um pool em seu pipeline.

Você pode ver o software instalado para cada agente hospedado escolhendo o link Software Incluído na tabela. Ao usar imagens do macOS, você pode selecionar manualmente nas versões da ferramenta. Leia mais.

Atualizações recentes

É recomendável que os clientes migrem para versões mais recentes ou um agente auto-hospedado.

Para obter mais informações e instruções sobre como atualizar seus pipelines que usam essas imagens, confira Como remover imagens mais antigas em pools hospedados no Azure Pipelines.

Observação

O pool hospedado do Azure Pipelines substitui os pools hospedados anteriormente que tinham nomes mapeados para as imagens correspondentes. Todos os trabalhos que você tinha nos pools hospedados anteriores são redirecionados automaticamente para a imagem correta no novo pool hospedado do Azure Pipelines. Em algumas circunstâncias, você ainda pode ver os nomes de pool antigos, mas nos bastidores, os trabalhos hospedados são executados usando o pool do Azure Pipelines. Para obter mais informações sobre esta atualização, consulte as notas sobre a versão do Pool hospedado único das Notas sobre a versãode versão de 1º de julho de 2019 – Sprint 154.

Importante

Para solicitar que um software adicional seja instalado em agentes hospedados pela Microsoft, não crie uma solicitação de comentários neste documento nem abra um tíquete de suporte. Em vez disso, abra um problema em nosso repositório, onde gerenciamos os scripts para gerar várias imagens.

Como identificar pipelines usando uma imagem hospedada preterida

Para identificar pipelines que estão usando uma imagem preterida, navegue até o seguinte local em sua organização: https://dev.azure.com/{organization}/{project}/_settings/agentqueues e filtre o nome da imagem a ser verificada. O exemplo a seguir verifica a imagem vs2017-win2016.

Screenshot of filtering pipelines by image name.

Você também pode consultar o histórico de trabalhos de imagens preteridas em projetos usando o script localizado aqui, conforme mostrado no exemplo a seguir.

./QueryJobHistoryForRetiredImages.ps1 -accountUrl https://dev.azure.com/{org} -pat {pat}

Usar um agente hospedado pela Microsoft

Nos pipelines YAML, se você não especificar um pool, os pipelines serão padrão para o pool de agentes do Azure Pipelines. Você precisa especificar qual imagem de máquina virtual deseja usar.

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo hello from Linux
- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:
  - script: echo hello from macOS
- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:
  - script: echo hello from Windows

Observação

A especificação de um pool pode ser feita em vários níveis em um arquivo YAML. Se você observar que o pipeline não está em execução na imagem esperada, verifique a especificação do pool nos níveis de pipeline, estágio e trabalho.

Evitar referências embutidas em código

Quando você usa um agente hospedado pela Microsoft, sempre use variáveis para se referir aos recursos de agente e ambiente de build. Por exemplo, você não deve embutir a letra da unidade ou a pasta que contém o repositório. O layout preciso dos agentes hospedados está sujeito a alterações sem aviso.

Hardware

Os agentes hospedados pela Microsoft que executam imagens do Windows e do Linux são provisionados em máquinas virtuais de uso geral do Azure com uma CPU de 2 núcleos, 7 GB de RAM e 14 GB de espaço em disco SSD. Essas máquinas virtuais estão localizadas na mesma área geográfica que sua organização do Azure DevOps.

Os agentes que executam imagens do macOS são provisionados em Mac Pros com CPU de 3 núcleos, 14 GB de RAM e 14 GB de espaço em disco SSD. Esses agentes sempre são executados nos EUA, independentemente da localização da sua organização do Azure DevOps. Se a soberania de dados for importante para você e se sua organização não estiver nos EUA, você não deverá usar imagens do macOS. Saiba mais.

Todos esses computadores têm pelo menos 10 GB de espaço livre em disco disponível para seus pipelines serem executados. Esse espaço livre é consumido quando o pipeline verifica o código-fonte, baixa pacotes, efetua pull de imagens do Docker ou gera arquivos intermediários.

Importante

Não podemos cumprir solicitações para aumentar o espaço em disco em agentes hospedados pela Microsoft ou provisionar computadores mais avançados. Se as especificações de agentes hospedados pela Microsoft não atenderem às suas necessidades, você deverá considerar agentes auto-hospedados ou agentes de conjunto de dimensionamento.

Rede

Em algumas configurações, talvez seja necessário saber o intervalo de endereços IP em que os agentes são implantados. Por exemplo, se você precisar conceder acesso aos agentes hospedados por meio de um firewall, talvez queira restringir esse acesso por endereço IP. Como o Azure DevOps usa a rede global do Azure, os intervalos de IP variam ao longo do tempo. Publicamos um arquivo JSON semanal listando intervalos de IP para datacenters do Azure, divididos por região. Esse arquivo é atualizado semanalmente com novos intervalos de IP planejados. Somente a versão mais recente do arquivo está disponível para download. Se precisar de versões anteriores, você deverá baixá-las e arquivar todas as semanas conforme elas estiverem disponíveis. Os novos intervalos de IP entram em vigor na semana seguinte. Recomendamos que você verifique com frequência (pelo menos uma vez por semana) para garantir que sua lista esteja atualizada. Se os trabalhos do agente começarem a falhar, uma primeira etapa de solução de problemas será garantir que sua configuração corresponda à lista mais recente de endereços IP. Os intervalos de endereços IP para os agentes hospedados estão listados no arquivo semanal em AzureCloud.<region>, como AzureCloud.westus para a região Oeste dos EUA.

Seus agentes hospedados são executados na mesma área geográfica do Azure que sua organização. Cada área geográfica contém uma ou mais regiões. Embora seu agente possa ser executado na mesma região que sua organização, não é garantido que ele faça isso. Para obter a lista completa de possíveis intervalos de IP para seu agente, você deve usar os intervalos de IP de todas as regiões contidas em sua área geográfica. Por exemplo, se sua organização estiver localizada nos Estados Unidos, você deverá usar os intervalos de IP para todas as regiões nessa área geográfica.

Para determinar sua área geográfica, acesse https://dev.azure.com/<your_organization>/_settings/organizationOverview, obtenha sua região e localize a área associada na tabela Geografia do Azure . Depois de identificar sua área geográfica, use os intervalos de IP do arquivo semanal para todas as regiões nessa área.

Importante

Você não pode usar conexões privadas, como ExpressRoute ou VPN, para conectar agentes hospedados pela Microsoft à sua rede corporativa. O tráfego entre agentes hospedados pela Microsoft e seus servidores será pela rede pública.

Para identificar os possíveis intervalos de IP para agentes hospedados pela Microsoft

  1. Identifique a região da sua organização nas Configurações da organização.
  2. Identifique a Geografia do Azure para a região da sua organização.
  3. Mapeie os nomes das regiões em sua geografia para o formato usado no arquivo semanal, seguindo o formato de AzureCloud.<region>, como AzureCloud.westus. Você pode mapear os nomes das regiões da lista Geografia do Azure para o formato usado no arquivo semanal examinando os nomes de região passados para o construtor das regiões definidas no código-fonte para a classe Region, das Bibliotecas de Gerenciamento do Azure para .NET.

    Observação

    Como não há nenhuma API nas Bibliotecas de Gerenciamento do Azure para .NET para listar as regiões de uma área geográfica, você deve listá-las manualmente, conforme mostrado no exemplo a seguir.

  4. Recupere os endereços IP para todas as regiões em sua geografia do arquivo semanal. Se sua região for Sul do Brasil ou Oeste da Europa, você deverá incluir intervalos de IP adicionais com base em sua área geográfica de fallback, conforme descrito na observação a seguir.

Observação

Devido a restrições de capacidade, algumas organizações nas regiões Sul do Brasil ou Oeste da Europa podem ocasionalmente ver seus agentes hospedados localizados fora de sua área geográfica esperada. Nesses casos, além de incluir os intervalos de IP para todas as regiões em sua área geográfica, conforme descrito na seção anterior, intervalos de IP adicionais devem ser incluídos para as regiões na área de fallback de capacidade.

Se sua organização estiver na região Sul do Brasil, sua área geográfica de fallback de capacidade será Estados Unidos.

Se sua organização estiver na região Oeste da Europa, a área geográfica de fallback de capacidade será a França.

Nossos intervalos de IP do Mac não estão incluídos nos IPs do Azure acima, pois estão hospedados na nuvem macOS do GitHub. Os intervalos de IP podem ser recuperados usando a API de metadados do GitHub usando as instruções fornecidas aqui.

Exemplo

No exemplo a seguir, os intervalos de endereços IP do agente hospedado para uma organização na região Oeste dos EUA são recuperados do arquivo semanal. Como a região Oeste dos EUA está na área geográfica dos Estados Unidos, os endereços IP para todas as regiões nessa área estão incluídos. Neste exemplo, os endereços IP são gravados no console.

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace WeeklyFileIPRanges
{
    class Program
    {
        // Path to the locally saved weekly file
        const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20230904.json";

        static void Main(string[] args)
        {
            // United States geography has the following regions:
            // Central US, East US, East US 2, East US 3, North Central US, 
            // South Central US, West Central US, West US, West US 2, West US 3
            // This list is accurate as of 9/8/2023
            List<string> USGeographyRegions = new List<string>
            {
                "centralus",
                "eastus",
                "eastus2",
                "eastus3",
                "northcentralus",
                "southcentralus",
                "westcentralus",
                "westus",
                "westus2",
                "westus3"
            };

            // Load the weekly file
            JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
            JArray values = (JArray)weeklyFile["values"];

            foreach (string region in USGeographyRegions)
            {
                string tag = $"AzureCloud.{region}";
                Console.WriteLine(tag);

                var ipList =
                    from v in values
                    where tag.Equals((string)v["name"], StringComparison.OrdinalIgnoreCase)
                    select v["properties"]["addressPrefixes"];

                foreach (var ip in ipList.Children())
                {
                    Console.WriteLine(ip);
                }
            }
        }
    }
}

Marcas de serviço

Os agentes hospedados pela Microsoft não podem ser listados por marcas de serviço. Se você estiver tentando conceder aos agentes hospedados acesso aos seus recursos, será necessário seguir o método de listagem de permissões do intervalo de IP.

Segurança

Os agentes hospedados pela Microsoft são executados na plataforma segura do Azure. Porém, você precisa considerar as seguintes considerações sobre segurança.

  • Embora os agentes hospedados pela Microsoft sejam executados na rede pública do Azure, eles não recebem endereços IP públicos. Portanto, entidades externas não podem ter como alvo agentes hospedados pela Microsoft.
  • Os agentes hospedados pela Microsoft são executados em VMs individuais, que são restauradas após cada execução. Cada agente é dedicado a uma única organização e cada VM hospeda apenas um único agente.
  • Há vários benefícios para executar seu pipeline em agentes hospedados pela Microsoft, de uma perspectiva de segurança. Se você executar código não confiável em seu pipeline, como contribuições de bifurcações, é mais seguro executar o pipeline em agentes hospedados pela Microsoft do que em agentes auto-hospedados que residem em sua rede corporativa.
  • Quando um pipeline precisa acessar seus recursos corporativos protegidos por um firewall, você precisa permitir o intervalo de endereços IP para a área geográfica do Azure. Isso pode aumentar sua exposição, pois o intervalo de endereços IP é grande e os computadores nesse intervalo também podem pertencer a outros clientes. A melhor maneira de prevenir isso é evitando a necessidade de acessar recursos internos. Para obter informações sobre como implantar artefatos em um conjunto de servidores, consulte Comunicação para implantar nos servidores de destino.
  • As imagens hospedadas não estão em conformidade com os parâmetros de comparação de proteção de CIS. Para usar imagens protegidas por CIS, você deve criar agentes auto-hospedados ou agentes de conjunto de dimensionamento.

Funcionalidades e limitações

Agentes hospedados pela Microsoft:

  • Tenha o software acima. Você também pode adicionar software durante o build ou lançamento usando tarefas do instalador de ferramentas.
    • Você obtém um agente recém-criado para cada trabalho em seu pipeline.
  • Forneça 10 GB de armazenamento para suas saídas de origem e build.
  • Forneça uma camada gratuita:
    • Projeto público: 10 trabalhos paralelos gratuitos hospedados pela Microsoft que podem ser executados por até 360 minutos (6 horas) cada vez, sem limite de tempo geral por mês. Entre em contato conosco para aumentar seus limites de camada gratuita.
    • Projeto particular: um trabalho paralelo gratuito que pode ser executado por até 60 minutos por vez, até que você tenha usado 1.800 minutos (30 horas) por mês. Você pode pagar por capacidade adicional por trabalho paralelo. Trabalhos paralelos pagos removem o limite de tempo mensal e permitem que você execute cada trabalho por até 360 minutos (6 horas). Compre trabalhos paralelos hospedados pela Microsoft.
    • Ao criar uma nova organização do Azure DevOps, você não recebe essas concessões gratuitas por padrão. Para solicitar a concessão gratuita para projetos públicos ou privados, envie uma solicitação.
  • Executar nas máquinas virtuais de uso geral do Microsoft Azure Standard_DS2_v2.
  • Execute como administrador no Windows e um usuário sudo sem senha no Linux.
  • (Somente Linux) Execute as etapas em um cgroup que oferece 6 GB de memória física e 13 GB de memória total.
  • Use imagens de VM que são atualizadas regularmente (a cada 3 semanas).

Os agentes hospedados pela Microsoft não oferecem:

  • A capacidade de se conectar remotamente.
  • A capacidade de remover artefatos para um compartilhamento de arquivos UNC.
  • A capacidade de ingressar computadores diretamente em sua rede corporativa.
  • A capacidade de obter computadores de build maiores ou mais poderosos.
  • A capacidade de pré-carregar um software personalizado. Você pode instalar o software durante uma execução de pipeline, por meio de tarefas do instalador de ferramentas ou em um script.
  • Possíveis vantagens de desempenho que você pode obter usando agentes auto-hospedados que podem iniciar e executar builds mais rapidamente. Saiba mais
  • A capacidade de executar builds XAML.
  • A capacidade de reverter para uma versão anterior da imagem da VM. Você sempre usa a versão mais recente.

Se os agentes hospedados pela Microsoft não atenderem às suas necessidades, você poderá implantar seus próprios agentes auto-hospedados ou usar agentes de conjunto de dimensionamento.

Perguntas frequentes

Como posso ver qual software está incluído em uma imagem?

Você pode ver o software instalado para cada agente hospedado escolhendo o link Software Incluído na tabela Software.

Observação

Por padrão, o agente do Windows usa a versão do Git que é agrupada com o software do agente. A Microsoft recomenda usar a versão do Git que é agrupada com o agente, mas você tem várias opções para substituir esse comportamento padrão e usar a versão do Git que o computador do agente instalou no caminho.

  • Defina uma variável de pipeline chamada System.PreferGitFromPath como true nos seus pipelines.
  • Nos agentes auto-hospedados, você pode criar um arquivo chamado .env no diretório raiz do agente e adicionar uma linha System.PreferGitFromPath=true ao arquivo. Para obter mais informações, confira Como definir variáveis de ambiente diferentes para cada agente individual?

Para ver a versão do Git usada por um pipeline, você pode examinar os logs para obter uma etapa checkout no seu pipeline, conforme mostrado no exemplo a seguir.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

Como a Microsoft escolhe o software e as versões a serem colocadas na imagem?

Mais informações sobre as versões do software incluídas nas imagens podem ser encontradas em Diretrizes para o que foi instalado.

Quando as imagens são atualizadas?

Normalmente, as imagens são atualizadas semanalmente. Você pode verificar os selos de status que estão no formato 20200113.x em que a primeira parte indica a data em que a imagem foi atualizada.

O que posso fazer se o software necessário for removido ou substituído por uma versão mais recente?

Você pode nos informar arquivando um problema do GitHub escolhendo os links de Software Incluído na tabela Usar um agente hospedado pela Microsoft .

Você também pode usar um agente auto-hospedado que inclui as versões exatas do software necessário. Para obter mais informações, confira Agentes auto-hospedados.

E se eu precisar de um computador maior com mais capacidade de processamento, memória ou espaço em disco?

Não é possível aumentar a memória, a capacidade de processamento ou o espaço em disco para agentes hospedados pela Microsoft, mas você pode usar agentes auto-hospedados ou agentes de conjunto de dimensionamento hospedados em computadores com suas especificações desejadas.

Não consigo selecionar um agente hospedado pela Microsoft e não consigo enfileirar minha compilação. O que devo fazer?

Os agentes hospedados pela Microsoft só estão disponíveis no Azure Pipelines e não no TFS ou Azure DevOps Server.

Por padrão, todos os colaboradores do projeto em uma organização têm acesso aos agentes hospedados pela Microsoft. No entanto, o administrador da sua organização pode limitar o acesso de agentes hospedados pela Microsoft para selecionar usuários ou projetos. Peça ao proprietário da sua organização do DevOps do Azure para conceder a permissão para usar um agente hospedado pela Microsoft. Confira Segurança do pool de agentes.

Meus pipelines em execução nos agentes hospedados pela Microsoft levam mais tempo para serem concluídos. Como posso acelerá-los?

Se seu pipeline se tornou mais lento recentemente, consulte nossa página de status para quaisquer interrupções. Podemos estar tendo problemas com o nosso serviço. Ou então, revise todas as alterações feitas no pipeline ou no código do seu aplicativo. O tamanho do seu repositório durante o check-out pode ter aumentado, você pode estar carregando artefatos maiores ou pode estar executando mais testes.

Se você estiver apenas configurando um pipeline e estiver comparando o desempenho dos agentes hospedados pela Microsoft com seu computador local ou um agente auto-hospedado, observe as especificações do hardware que utilizamos para executar seus trabalhos. Não podemos fornecer computadores maiores ou mais potentes. Você pode considerar usar agentes auto-hospedados ou agentes de conjuntos de dimensionamento se esse desempenho não for aceitável.

Preciso de mais agentes. O que posso fazer?

Todas as organizações do Azure DevOps recebem vários trabalhos paralelos gratuitos para projetos de software livre e um trabalho paralelo gratuito e minutos limitados por mês para projetos privados. Se você precisar de minutos adicionais ou trabalhos paralelos para seu projeto de software livre, entre em contato com o suporte. Se você precisar de minutos adicionais ou trabalhos paralelos para seu projeto privado, compre mais.

Meu pipeline é bem-sucedido no agente auto-hospedado, mas falha em agentes hospedados pela Microsoft. O que devo fazer?

Seu agente auto-hospedado provavelmente tem todas as dependências certas instaladas nele, enquanto as mesmas dependências, ferramentas e software não estão instalados em agentes hospedados pela Microsoft. Primeiro, examine cuidadosamente a lista de softwares instalados em agentes hospedados pela Microsoft seguindo o link para Software incluído na tabela acima. Em seguida, compare isso com o software instalado em seu agente auto-hospedado. Em alguns casos, os agentes hospedados pela Microsoft podem ter as ferramentas necessárias (por exemplo, o Visual Studio), mas todos os componentes opcionais necessários podem não ter sido instalados. Se você encontrar diferenças, terá duas opções:

  • Você pode criar um novo problema no repositório, em que acompanhamos solicitações de software adicional. Entrar em contato com o suporte não pode ajudá-lo a configurar novos softwares nos agentes hospedados pela Microsoft.

  • Você pode usar agentes auto-hospedados ou agentes de conjunto de dimensionamento. Com esses agentes, você terá total controle das imagens usadas para executar seus pipelines.

Meu build é bem-sucedido no meu computador local, mas falha em agentes hospedados pela Microsoft. O que devo fazer?

Seu computador local provavelmente tem todas as dependências certas instaladas nele, enquanto as mesmas dependências, ferramentas e software não estão instalados em agentes hospedados pela Microsoft. Primeiro, examine cuidadosamente a lista de softwares instalados em agentes hospedados pela Microsoft seguindo o link para Software incluído na tabela acima. Em seguida, compare isso com o software instalado em seu computador local. Em alguns casos, os agentes hospedados pela Microsoft podem ter as ferramentas necessárias (por exemplo, o Visual Studio), mas todos os componentes opcionais necessários podem não ter sido instalados. Se você encontrar diferenças, terá duas opções:

  • Você pode criar um novo problema no repositório, em que acompanhamos solicitações de software adicional. Essa é a melhor opção para instalar novos softwares. Entrar em contato com o suporte não ajudará você a configurar novos softwares em agentes hospedados pela Microsoft.

  • Você pode usar agentes auto-hospedados ou agentes de conjunto de dimensionamento. Com esses agentes, você terá total controle das imagens usadas para executar seus pipelines.

Meu pipeline falha com o erro: "nenhum espaço restante no dispositivo".

Os agentes hospedados pela Microsoft têm apenas 10 GB de espaço em disco disponível para executar o trabalho. Esse espaço é consumido quando você verifica o código-fonte, baixa pacotes, baixa imagens do Docker ou produz arquivos intermediários. Infelizmente, não é possível aumentar o espaço livre disponível nas imagens hospedadas pela Microsoft. Você pode reestruturar seu pipeline para que ele possa caber nesse espaço. Ou você pode considerar o uso de agentes auto-hospedados ou agentes de conjunto de dimensionamento.

Meu pipeline em execução em agentes hospedados pela Microsoft requer acesso a servidores em nossa rede corporativa. Como obter uma lista de endereços IP a serem permitidos em nosso firewall?

Consulte a seção Intervalos de IP do agente

Nosso pipeline em execução em agentes hospedados pela Microsoft não pode resolve o nome de um servidor em nossa rede corporativa. Como posso corrigir isso?

Se você se referir ao servidor pelo nome DNS, verifique se o servidor está publicamente acessível na Internet por esse nome. Se você se referir ao servidor por seu endereço IP, verifique se o endereço IP está acessível publicamente na Internet. Em ambos os casos, verifique se qualquer firewall entre os agentes e sua rede corporativa tem os intervalos de IP do agente permitidos.

Estou recebendo um erro de autorização de IP SAS de uma conta de Armazenamento do Azure

Se você receber um código de erro SAS, provavelmente será porque os intervalos de endereços IP dos agentes hospedados pela Microsoft não são permitidos devido às suas regras de Armazenamento do Azure. Há algumas soluções alternativas:

  1. Gerencie as regras de rede IP para sua conta de Armazenamento do Azure e adicione os intervalos de endereços IP para seus agentes hospedados.
  2. No pipeline, use a CLI do Azure para atualizar o conjunto de regras de rede para sua conta de Armazenamento do Azure antes de acessar o armazenamento e restaurar o conjunto de regras anterior.
  3. Use agentes auto-hospedados ou agentes de conjunto de dimensionamento.

Como posso selecionar manualmente versões de ferramentas no agente macOS hospedado?

Xamarin

O agente do macOS hospedado armazena versões do SDK do Xamarin e as versões Mono associadas como um conjunto de links simbólicos para locais do SDK do Xamarin que estão disponíveis por um único link simbólico de pacote.

Para selecionar manualmente uma versão do SDK do Xamarin a ser usada no agente do macOS hospedado, execute o comando bash a seguir antes da tarefa de build do Xamarin como parte do build, especificando o pacote de versões do Symlink to Xamarin de que você precisa.

/bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh <symlink>"

A lista de todas as versões e links simbólicos do SDK do Xamarin disponíveis pode ser encontrada na documentação dos agentes:

Esse comando não seleciona a versão Mono além do SDK do Xamarin. Para selecionar manualmente uma versão Mono, confira as instruções abaixo.

Caso você esteja usando uma versão não padrão do Xcode para criar seus aplicativos Xamarin.iOS ou Xamarin.Mac, você também deverá executar esta linha de comando:

/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'$(xcodeRoot);sudo xcode-select --switch $(xcodeRoot)/Contents/Developer"

onde $(xcodeRoot) = /Applications/Xcode_13.2.app

As versões do Xcode no pool de agentes do macOS hospedado podem ser encontradas aqui para o agente macos-11 e aqui para o agente macos-12.

Xcode

Se você usar a tarefa Xcode incluída no Azure Pipelines e no TFS, poderá selecionar uma versão do Xcode nas propriedades dessa tarefa. Caso contrário, para definir manualmente a versão do Xcode a ser usada no pool de agentes do macOS hospedado, antes da tarefa de build xcodebuild, execute essa linha de comando como parte do build, substituindo o número de versão do Xcode 13.2 conforme necessário:

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"

As versões do Xcode no pool de agentes do macOS hospedado podem ser encontradas aqui para o agente macos-11 e aqui para o agente macos-12.

Esse comando não funciona para aplicativos Xamarin. Para selecionar manualmente uma versão do Xcode para criar aplicativos Xamarin, confira as instruções acima.

Mono

Para selecionar manualmente uma versão Mono a ser usada no pool de agentes do macOS hospedado, execute esse script em cada trabalho de seu build antes da tarefa de build Mono, especificando o link simbólico com a versão Mono necessária (a lista de todos os links simbólicos disponíveis pode ser encontrada na seção Xamarin acima):

SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"