Agentes alojados na Microsoft

Serviços de DevOps do Azure

Os agentes hospedados pela Microsoft só estão disponíveis com os Serviços de DevOps do Azure, que são hospedados na nuvem. Não é possível usar agentes hospedados pela Microsoft ou o pool de agentes do Azure Pipelines com o TFS local ou o Azure DevOps Server. Com essas versões locais, você deve usar agentes auto-hospedados.

Importante

Selecione uma versão no seletor de Versão de Conteúdo do Azure DevOps.

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

Se seus pipelines estiverem no Azure Pipelines, você terá uma opção conveniente para executar seus trabalhos usando um agente hospedado pela Microsoft. Com agentes hospedados pela Microsoft, a manutenção e as atualizações são cuidadas para você. Você sempre obtém a versão mais recente da imagem da VM especificada em seu pipeline. Cada vez que você executa um pipeline, você 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 que um trabalho faça no sistema de arquivos da máquina virtual, como o código de check-out, não estará 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 agentes predefinido chamado Azure Pipelines com agentes hospedados pela Microsoft.

Para muitas equipas, esta é a forma mais simples de executar os seus trabalhos. Você pode experimentá-lo primeiro e ver se ele funciona para sua compilação ou implantação. Caso contrário, você pode usar agentes de conjunto de escala ou um agente auto-hospedado.

Gorjeta

Você pode tentar um agente hospedado pela Microsoft gratuitamente.

Software

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

Image Especificação do Classic Editor Agent Rótulo de imagem YAML VM Software incluído
Windows Server 2022 com Visual Studio 2022 janelas-2022 windows-latest OU windows-2022 Ligação
Windows Server 2019 com Visual Studio 2019 janelas-2019 windows-2019 Ligação
Ubuntu 22,04 ubuntu-22.04 ubuntu-latest OU ubuntu-22.04 Ligação
Ubuntu 20.04 ubuntu-20,04 ubuntu-20.04 Ligação
macOS 14 Sonoma (pré-visualização) macOS-14 macOS-14 Ligação
macOS 13 Ventura | macOS-13 macOS-13 Ligação
macOS 12 Monterey macOS-12 macOS-latest OU macOS-12 Ligação
macOS 11 Big Sur (preterido) macOS-11 macOS-11 Ligação

A imagem do agente padrão para pipelines de compilação clássicos é windows-2019 e a imagem do agente padrão para pipelines de compilação YAML é ubuntu-latest. Para obter mais informações, consulte 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 a partir das versões da ferramenta. Ler mais.

Atualizações recentes

Os clientes são incentivados a migrar para versões mais recentes ou para um agente auto-hospedado.

Para obter mais informações e instruções sobre como atualizar seus pipelines que usam essas imagens, consulte Removendo imagens mais antigas em pools hospedados do Azure Pipelines.

Nota

A capacidade do macOS é atualmente limitada. Ao contrário das imagens do Linux e do Windows, em que a capacidade é limitada pela capacidade total do Azure, a capacidade do macOS é limitada pela quantidade de hardware disponível. Embora estejamos a trabalhar para disponibilizar capacidade adicional durante a primavera de 2024, alguns trabalhos podem sofrer atrasos na execução. Sempre que possível, por exemplo, para trabalhos que não criam aplicações do ecossistema Apple, os clientes devem escolher imagens Linux ou Windows.

Nota

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

Importante

Para solicitar a instalação de software adicional em agentes hospedados pela Microsoft, não crie uma solicitação de feedback neste documento ou 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/agentqueuese filtre o nome da imagem a ser verificado. O exemplo a seguir verifica a vs2017-win2016 imagem.

Captura de tela de pipelines de filtragem por nome de imagem.

Você também pode consultar o histórico de trabalhos para 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 padronizados para o pool de agentes do Azure Pipelines. Basta 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

Nota

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

Evite referências codificadas

Quando você usa um agente hospedado pela Microsoft, sempre use variáveis para se referir ao ambiente de compilação e aos recursos do agente. Por exemplo, não codifice 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 prévio.

Hardware

Os agentes hospedados pela Microsoft que executam imagens do Windows e 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 colocalizadas na mesma geografia que sua organização do Azure DevOps.

Os agentes que executam imagens do macOS são provisionados em Mac pros com uma 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 do local da sua organização do Azure DevOps. Se a soberania de dados for importante para si e se a sua organização não estiver nos EUA, então não deve utilizar imagens macOS. Mais informações.

Todas essas máquinas têm pelo menos 10 GB de espaço livre em disco disponível para que seus pipelines sejam executados. Esse espaço livre é consumido quando o pipeline faz check-out do código-fonte, baixa pacotes, extrai imagens do docker ou gera arquivos intermediários.

Importante

Não podemos atender a solicitações para aumentar o espaço em disco em agentes hospedados pela Microsoft ou para provisionar máquinas mais poderosas. Se as especificações dos agentes hospedados pela Microsoft não atenderem às suas necessidades, você deve considerar agentes autohospedados ou agentes de conjunto de escala.

Rede

Em algumas configurações, talvez seja necessário saber o intervalo de endereços IP onde 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. A Microsoft publica um arquivo JSON semanal listando intervalos de IP para datacenters do Azure, divididos por região. Este arquivo é atualizado semanalmente com novos intervalos de IP planejados. Apenas a versão mais recente do ficheiro está disponível para download. Se você precisar de versões anteriores, você deve baixá-las e arquivá-las todas as semanas à medida que ficam disponíveis. Os novos intervalos de IP entram em vigor na semana seguinte. Recomendamos que volte frequentemente (pelo menos uma vez por semana) para garantir que mantém uma lista atualizada. Se os trabalhos do agente começarem a falhar, uma primeira etapa importante de solução de problemas é certificar-se de 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 geografia do Azure que sua organização. Cada geografia 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 o faça. Para obter a lista completa de intervalos de IP possíveis para seu agente, você deve usar os intervalos de IP de todas as regiões contidas em sua geografia. Por exemplo, se sua organização estiver localizada na geografia dos Estados Unidos, você deverá usar os intervalos de IP para todas as regiões dessa geografia.

Para determinar sua geografia, navegue até https://dev.azure.com/<your_organization>/_settings/organizationOverview, obtenha sua região e localize a geografia associada na tabela de geografia do Azure. Depois de identificar sua geografia, use os intervalos de IP do arquivo semanal para todas as regiões dessa geografia.

Importante

Não é possível usar conexões privadas, como Rota Expressa ou VPN, para conectar agentes hospedados pela Microsoft à sua rede corporativa. O tráfego entre os 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 da classe Region, nas Bibliotecas de Gerenciamento do Azure para .NET.

    Nota

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

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

Nota

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

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

Se a sua organização estiver na região da Europa Ocidental, a geografia de fallback de capacidade é 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 geografia dos Estados Unidos, os endereços IP de todas as regiões da geografia dos Estados Unidos 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);
                }
            }
        }
    }
}

Etiquetas 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, precisará seguir o método de listagem de permissões de intervalo de IP.

Segurança

Os agentes hospedados pela Microsoft são executados na plataforma segura do Azure. No entanto, você deve estar ciente das seguintes considerações de 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 recriadas 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 em executar seu pipeline em agentes hospedados pela Microsoft, do ponto de vista da segurança. Se você executar código não confiável em seu pipeline, como contribuições de forks, será 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 atrás de um firewall, você precisa permitir o intervalo de endereços IP para a geografia do Azure. Isto pode aumentar a sua exposição, uma vez que a gama de endereços IP é bastante grande e uma vez que as máquinas nesta gama também podem pertencer a outros clientes. A melhor maneira de evitar isso é evitar a necessidade de acessar recursos internos. Para obter informações sobre como implantar artefatos em um conjunto de servidores, consulte Comunicação a ser implantada em servidores de destino.
  • As imagens hospedadas não estão em conformidade com os benchmarks de proteção do CIS. Para usar imagens protegidas pelo CIS, você deve criar agentes auto-hospedados ou agentes de conjunto de escala.

Capacidades e limitações

Agentes hospedados pela Microsoft:

  • Tenha o software acima. Você também pode adicionar software durante sua compilação 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 compilação.
  • Forneça um nível gratuito:
    • Projeto público: 10 trabalhos paralelos gratuitos hospedados pela Microsoft que podem ser executados por até 360 minutos (6 horas) de cada vez, sem limite de tempo total por mês. Contacte-nos para aumentar os seus limites de nível gratuito.
    • Projeto privado: um trabalho paralelo gratuito que pode ser executado por até 60 minutos de cada vez, até que você tenha usado 1.800 minutos (30 horas) por mês. Você pode pagar por capacidade adicional por trabalho paralelo. Os 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.
    • Quando você cria uma nova organização do Azure DevOps, não recebe essas concessões gratuitas por padrão. Para solicitar a subvenção gratuita para projetos públicos ou privados, apresente um pedido.
  • Executar em máquinas virtuais de uso geral do Microsoft Azure Standard_DS2_v2.
  • Execute como administrador no Windows e usuário sudo sem senha no Linux.
  • (Apenas Linux) Execute 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 soltar artefatos em um compartilhamento de arquivos UNC.
  • A capacidade de unir máquinas diretamente à sua rede corporativa.
  • A capacidade de obter máquinas de construção maiores ou mais potentes.
  • A capacidade de pré-carregar software personalizado. Você pode instalar software durante uma execução de pipeline, como por meio de tarefas do instalador de ferramentas ou em um script.
  • Potenciais vantagens de desempenho que você pode obter usando agentes auto-hospedados que podem iniciar e executar compilações mais rapidamente. Mais informações
  • A capacidade de executar compilações 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 escala.

FAQ

Como posso ver que software está incluído numa imagem?

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

Nota

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

Para ver a versão do Git usada por um pipeline, você pode examinar os logs para uma checkout etapa 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 para colocar na imagem?

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

Quando são atualizadas as imagens?

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

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

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

Você também pode usar um agente auto-hospedado que inclua as versões exatas do software de que você precisa. Para obter mais informações, consulte Agentes auto-hospedados.

E se eu precisar de uma máquina maior com mais poder de processamento, memória ou espaço em disco?

Não podemos aumentar a memória, o poder de processamento ou o espaço em disco para agentes hospedados pela Microsoft, mas você pode usar agentes auto-hospedados ou dimensionar agentes de conjunto hospedados em máquinas com as especificações desejadas.

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

Os agentes hospedados pela Microsoft só estão disponíveis no Azure Pipelines e não no TFS ou no 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 de DevOps do Azure para lhe conceder permissão para utilizar um agente alojado pela Microsoft. Consulte Segurança do pool de agentes.

Os meus pipelines em execução em agentes alojados na Microsoft demoram mais tempo a concluir. Como os posso acelerar?

Se o pipeline se tornou recentemente mais lento, veja a nossa página de estado para ver se existem falhas. Podemos estar a ter problemas com o nosso serviço. Em alternativa, veja as alterações feitas no código ou pipeline da aplicação. O tamanho do repositório durante a saída pode ter aumentado, pode estar a carregar artefactos maiores ou pode estar a executar mais testes.

Se estiver apenas a configurar um pipeline e estiver a comparar o desempenho dos agentes alojados na Microsoft com o computador local ou um agente autoalojado, anote as especificações do hardware que utilizamos para executar os trabalhos. Não nos é possível disponibilizar-lhe computadores maiores ou poderosos. Poderá considerar a utilização de agentes autoalojados ou agentes de conjuntos de dimensionamento se este desempenho não for aceitável.

Preciso de mais agentes. O que posso fazer?

Todas as organizações de DevOps do Azure recebem vários trabalhos paralelos gratuitos para projetos de código aberto e um trabalho paralelo gratuito e minutos limitados todos os meses para projetos privados. Se você precisar de minutos adicionais ou trabalhos paralelos para seu projeto de código aberto, entre em contato com o suporte. Se você precisar de minutos adicionais ou trabalhos paralelos para o seu projeto privado, então você pode comprar mais.

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

Seu agente auto-hospedado provavelmente tem todas as dependências corretas instaladas nele, enquanto as mesmas dependências, ferramentas e software não estão instalados em agentes hospedados pela Microsoft. Primeiro, analise cuidadosamente a lista de software instalada 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, Visual Studio), mas todos os componentes opcionais necessários podem não ter sido instalados. Se você encontrar diferenças, então você tem duas opções:

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

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

Minha compilação é bem-sucedida em minha máquina local, mas falha em agentes hospedados pela Microsoft. O que devo fazer?

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

  • Você pode criar um novo problema no repositório, onde rastreamos solicitações de software adicional. Esta é a sua melhor aposta para instalar um novo software. Entrar em contato com o suporte não o ajudará a configurar um novo software em agentes hospedados pela Microsoft.

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

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

Os agentes alojados na Microsoft têm apenas 10 GB de espaço em disco disponível para executar a tarefa. Esse espaço é consumido quando você faz check-out do código-fonte, quando baixa pacotes, quando baixa imagens docker ou quando produz arquivos intermediários. Infelizmente, não podemos aumentar o espaço livre disponível em imagens hospedadas pela Microsoft. Você pode reestruturar seu pipeline para que ele possa caber neste espaço. Ou, você pode considerar o uso de agentes auto-hospedados ou agentes de conjunto de escala.

Meu pipeline executado em agentes hospedados pela Microsoft requer acesso a servidores em nossa rede corporativa. Como obtemos uma lista de endereços IP para permitir a entrada no nosso firewall?

Consulte a seção Intervalos de IP do agente

Nosso pipeline executado em agentes hospedados pela Microsoft não consegue resolver o nome de um servidor em nossa rede corporativa. Como podemos corrigir isso?

Se se referir ao servidor pelo seu nome DNS, certifique-se de que o servidor está acessível publicamente na Internet através do seu nome DNS. Se você se referir ao seu servidor pelo endereço IP, certifique-se de que o endereço IP esteja acessível publicamente na Internet. Em ambos os casos, certifique-se de que qualquer firewall entre os agentes e sua rede corporativa tenha 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, é mais provável 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. Existem 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. Em seu 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, em seguida, restaure o conjunto de regras anterior.
  3. Use agentes auto-hospedados ou agentes de conjunto de escala.

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

XCode

Se você usar a tarefa Xcode incluída no Azure Pipelines e 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 xcodebuild da tarefa de compilação, execute esta linha de comando como parte da compilação, 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 macos-11 agente e aqui para o macos-12 agente.

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

Mono

Para selecionar manualmente uma versão do Mono para usar no pool de agentes do macOS hospedado, execute este script em cada tarefa da sua compilação antes da tarefa de compilação do Mono, especificando o link simbólico com a versão do Mono necessária:

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"