Размещенные агенты Майкрософт

Azure DevOps Services

Размещенные корпорацией Майкрософт агенты доступны только в Azure DevOps Services, которая размещается в облаке. Вы не можете использовать размещенные корпорацией Майкрософт агенты или пул агентов Azure Pipelines с локальными TFS или Azure DevOps Server. При использовании этих локальных версий необходимо использовать локальные агенты.

Внимание

Выберите версию в селекторе версии содержимого Azure DevOps.

Выберите версию этой статьи, соответствующую вашей платформе и версии. Селектор версий находится над оглавлением. Просмотрите платформу и версию Azure DevOps.

Если конвейеры находятся в Azure Pipelines, у вас есть удобный вариант для запуска заданий с помощью размещенного корпорацией Майкрософт агента. С агентами, размещенными в Майкрософт, можно не волноваться об обновлениях и обслуживании. Вы всегда получаете последнюю версию образа виртуальной машины, указанного в конвейере. При каждом запуске конвейера вы получаете новую виртуальную машину для каждого задания в конвейере. Виртуальная машина не карта карта после одного задания (это означает, что любое изменение, которое задание делает в файловой системе виртуальной машины, например проверка вне кода, будет недоступно для следующего задания). Размещенные корпорацией Майкрософт агенты могут выполнять задания непосредственно на виртуальной машине или в контейнере.

Azure Pipelines предоставляет предопределенный пул агентов с именем Azure Pipelines с агентами , размещенными корпорацией Майкрософт.

Для многих команд это самый простой способ выполнения заданий. Вы можете сначала попробовать его и узнать, работает ли она для сборки или развертывания. В противном случае можно использовать агенты масштабируемого набора или локальный агент.

Совет

Вы можете попробовать размещенный корпорацией Майкрософт агент без оплаты.

Программное обеспечение.

Пул агентов Azure Pipelines предлагает несколько образов виртуальных машин для выбора, включая широкий спектр средств и программного обеспечения.

Изображения Спецификация агента классического редактора Метка образа виртуальной машины YAML Включенное программное обеспечение
Windows Server 2022 с Visual Studio 2022 Windows-2022 windows-latest ИЛИ windows-2022 Ссылка
Windows Server 2019 с Visual Studio 2019 Windows-2019 windows-2019 Ссылка
Ubuntu 22.04 ubuntu-22.04 ubuntu-latest ИЛИ ubuntu-22.04 Ссылка
Ubuntu 20.04 ubuntu-20.04 ubuntu-20.04 Ссылка
macOS 14 Sonoma (предварительная версия) macOS-14 macOS-14 Ссылка
macOS 13 Ventura macOS-13 macOS-13 Ссылка
macOS 12 Monterey macOS-12 macOS-latest ИЛИ macOS-12 Ссылка
macOS 11 Big Sur (не рекомендуется) macOS-11 macOS-11 Ссылка

Образ агента по умолчанию для классических конвейеров сборки — windows-2019, а образ агента по умолчанию для конвейеров сборки YAML — ubuntu-latestэто . Дополнительные сведения см. в разделе "Назначение пула" в конвейере.

Установленное программное обеспечение для каждого размещенного агента можно увидеть, выбрав ссылку "Включенное программное обеспечение " в таблице. При использовании образов macOS можно выбрать вручную из версий инструментов. Дополнительные сведения

Последние обновления

Клиентам рекомендуется перейти на более новые версии или локальный агент.

Дополнительные сведения и инструкции по обновлению конвейеров, использующих эти образы, см. в статье "Удаление старых образов в размещенных пулах Azure Pipelines".

Примечание.

В настоящее время емкость macOS ограничена. В отличие от образов Linux и Windows, где наша емкость ограничена полной емкостью Azure, емкость macOS ограничена количеством доступного оборудования. Хотя мы продолжаем работать над увеличением емкости в течение весны 2024 года, некоторые задания могут выполняться с задержкой. Где это возможно, например для заданий, которые не создают приложения экосистемы Apple, клиенты должны выбирать образы Linux или Windows.

Примечание.

Размещенный пул Azure Pipelines заменяет предыдущие размещенные пулы с именами, сопоставленными с соответствующими изображениями. Все задания, которые были в предыдущих размещенных пулах, автоматически перенаправляются на правильный образ в новом размещенном пуле Azure Pipelines. В некоторых случаях имена старых пулов по-прежнему отображаются, но за кулисами выполняются размещенные задания с помощью пула Azure Pipelines. Дополнительные сведения об этом обновлении см . в заметках о выпуске одного размещенного пула с заметками о выпуске 1 июля 2019 г. — Спринт 154.

Внимание

Чтобы запросить дополнительное программное обеспечение для установки на размещенных корпорацией Майкрософт агентов, не создавайте запрос обратной связи по этому документу или не открывайте запрос в службу поддержки. Вместо этого откройте проблему в нашем репозитории, где мы управляем скриптами для создания различных образов.

Определение конвейеров с помощью устаревшего размещенного образа

Чтобы определить конвейеры, использующие устаревший образ, перейдите к следующему расположению в организации: https://dev.azure.com/{organization}/{project}/_settings/agentqueuesи отфильтруйте имя образа на проверка. В следующем примере проверка vs2017-win2016 изображение.

Снимок экрана: фильтрация конвейеров по имени изображения.

Вы также можете запросить журнал заданий для устаревших образов в проектах с помощью скрипта, расположенного здесь, как показано в следующем примере.

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

Использование размещенного майкрософт агента

В конвейерах YAML, если пул не указан, конвейеры по умолчанию выполняются в пуле агентов Azure Pipelines. Необходимо просто указать, какой образ виртуальной машины вы хотите использовать.

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

Примечание.

Спецификация пула может выполняться на нескольких уровнях в YAML-файле. Если вы заметите, что конвейер не запущен на ожидаемом образе, убедитесь, что спецификация пула выполняется на уровне конвейера, этапа и заданий.

Избегайте жестко закодированных ссылок

При использовании агента, размещенного корпорацией Майкрософт, всегда используйте переменные для ссылки на среду сборки и ресурсы агента. Например, не кодирует букву диска или папку, содержащую репозиторий. Точный макет размещенных агентов подлежит изменению без предупреждения.

Оборудование

Размещенные корпорацией Майкрософт агенты, использующие образы Windows и Linux, подготавливаются на виртуальных машинах общего назначения Azure с 2 ядрами ЦП, 7 ГБ ОЗУ и 14 ГБ дискового пространства SSD. Эти виртуальные машины находятся в той же географической области, что и ваша организация Azure DevOps.

Агенты, использующие образы macOS, подготавливаются на компьютерах Mac Pro с 3 ядрами ЦП, 14 ГБ ОЗУ и 14 ГБ дискового пространства SSD. Эти агенты всегда работают в США независимо от расположения организации Azure DevOps. Если суверенитет данных важен для вас и если ваша организация не находится в США, то не следует использовать образы macOS. Подробнее.

Все эти компьютеры имеют не менее 10 ГБ свободного места на диске для запуска конвейеров. Это свободное место используется при проверка конвейера из исходного кода, скачивания пакетов, извлечения образов Docker или создания промежуточных файлов.

Внимание

Мы не можем учитывать запросы на увеличение места на диске в агентах, размещенных корпорацией Майкрософт, или для подготовки более мощных компьютеров. Если спецификации размещенных майкрософт агентов не соответствуют вашим потребностям, следует рассмотреть возможность самостоятельно размещенных агентов или агентов масштабируемого набора.

Сеть

В некоторых настройках может потребоваться знать диапазон IP-адресов, в которых развертываются агенты. Например, если вам нужно предоставить доступ к размещенным агентам через брандмауэр, может потребоваться ограничить доступ по IP-адресу. Так как Azure DevOps использует глобальную сеть Azure, диапазоны IP-адресов зависят от времени. Корпорация Майкрософт публикует еженедельный json-файл с описанием диапазонов IP-адресов для центров обработки данных Azure, разделенных по регионам. Этот файл обновляется еженедельно с новыми запланированными диапазонами IP-адресов. Для скачивания доступна только последняя версия файла. Если вам нужны предыдущие версии, необходимо скачать и архивировать их каждую неделю по мере их доступности. Новые диапазоны IP-адресов становятся эффективными на следующей неделе. Мы рекомендуем проверка часто (по крайней мере один раз в неделю), чтобы обеспечить актуальность списка. Если задания агента начинаются сбоем, сначала необходимо убедиться, что конфигурация соответствует последнему списку IP-адресов. Диапазоны IP-адресов для размещенных агентов перечислены в еженедельном файле AzureCloud.<region>, например AzureCloud.westus в регионе "Западная часть США".

Размещенные агенты выполняются в той же географической области Azure, что и ваша организация. Каждая география содержит один или несколько регионов. Хотя агент может работать в том же регионе, что и ваша организация, это не гарантируется. Чтобы получить полный список возможных диапазонов IP-адресов для агента, необходимо использовать диапазоны IP-адресов из всех регионов, содержащихся в географическом регионе. Например, если ваша организация находится в географическом регионе США, необходимо использовать диапазоны IP-адресов для всех регионов в этом географическом регионе.

Чтобы определить географию, перейдите https://dev.azure.com/<your_organization>/_settings/organizationOverviewк региону и найдите связанную географию из таблицы географии Azure. После определения географического региона используйте диапазоны IP-адресов из еженедельного файла для всех регионов в этом географическом регионе.

Внимание

Вы не можете использовать частные подключения, такие как ExpressRoute или VPN, для подключения агентов, размещенных Корпорацией Майкрософт, к корпоративной сети. Трафик между размещенными корпорацией Майкрософт агентами и серверами будет осуществляться через общедоступную сеть.

Определение возможных диапазонов IP-адресов для агентов, размещенных корпорацией Майкрософт

  1. Определите регион для организации в параметрах организации.
  2. Определите географию Azure для региона вашей организации.
  3. Сопоставляйте имена регионов в географическом регионе с форматом, используемым в еженедельном файле, следуя формату AzureCloud.<region>, например AzureCloud.westus. Имена регионов из списка географии Azure можно сопоставить с форматом, используемым в еженедельном файле, просмотрев имена регионов, переданных конструктору регионов, определенных в исходном коде класса Region, из библиотек управления Azure для .NET.

    Примечание.

    Так как в библиотеках управления Azure нет API для .NET для перечисления регионов для географического региона, их необходимо вывести вручную, как показано в следующем примере.

  4. Извлеките IP-адреса для всех регионов в географическом регионе из еженедельного файла. Если ваш регион — Южная Бразилия или Западная Европа, необходимо включить дополнительные диапазоны IP-адресов на основе резервного географического региона, как описано в следующем примечание.

Примечание.

Из-за ограничений емкости некоторые организации в регионах Южной Или Западной Европы Бразилии иногда могут видеть своих размещенных агентов, расположенных за пределами ожидаемой географической области. В этих случаях помимо включения диапазонов IP-адресов для всех регионов в географическом регионе, как описано в предыдущем разделе, дополнительные диапазоны IP-адресов должны быть включены для регионов в резервную географию емкости.

Если ваша организация находится в регионе "Южная Бразилия", ваша резервная география емкости США.

Если ваша организация находится в регионе Западной Европы , то резервная география емкости — Франция.

Диапазоны IP-адресов Mac не включены в указанные выше IP-адреса Azure, так как они размещаются в облаке macOS GitHub. Диапазоны IP-адресов можно получить с помощью API метаданных GitHub, используя приведенные здесь инструкции.

Пример

В следующем примере диапазоны IP-адресов размещенного агента для организации в регионе "Западная часть США" извлекаются из еженедельного файла. Так как регион "Западная часть США" находится в США географическом регионе, IP-адреса для всех регионов в США географическом регионе включаются. В этом примере IP-адреса записываются в консоль.

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);
                }
            }
        }
    }
}

Теги служб

Агенты, размещенные корпорацией Майкрософт, не могут быть перечислены тегами службы. Если вы пытаетесь предоставить размещенным агентам доступ к ресурсам, вам потребуется следовать методу списка разрешенных IP-адресов.

Безопасность

Размещенные корпорацией Майкрософт агенты выполняются на безопасной платформе Azure. Однако следует учитывать следующие аспекты безопасности.

  • Хотя размещенные корпорацией Майкрософт агенты работают в общедоступной сети Azure, они не назначаются общедоступным IP-адресам. Таким образом, внешние сущности не могут нацелиться на агенты, размещенные корпорацией Майкрософт.
  • Агенты, размещенные корпорацией Майкрософт, выполняются на отдельных виртуальных машинах, которые повторно создаются после каждого запуска. Каждый агент предназначен для одной организации, и каждая виртуальная машина размещает только один агент.
  • Существует несколько преимуществ для запуска конвейера в агентах, размещенных корпорацией Майкрософт, с точки зрения безопасности. Если вы запускаете ненадежный код в конвейере, например вклады из вилок, безопаснее запускать конвейер на размещенных майкрософт агентах, чем в локальных агентах, которые находятся в корпоративной сети.
  • Если конвейеру необходимо получить доступ к корпоративным ресурсам за брандмауэром, необходимо разрешить диапазон IP-адресов для географической области Azure. Это может увеличить уровень воздействия, так как диапазон IP-адресов довольно велик, и так как компьютеры в этом диапазоне также могут принадлежать другим клиентам. Лучший способ предотвратить это заключается в том, чтобы избежать необходимости доступа к внутренним ресурсам. Сведения о развертывании артефактов на наборе серверов см. в разделе "Обмен данными" для развертывания на целевых серверах.
  • Размещенные образы не соответствуют тестам защиты CIS. Чтобы использовать образы, защищенные CIS, необходимо создать локальные агенты или агенты масштабируемого набора.

Возможности и ограничения

Агенты, размещенные корпорацией Майкрософт:

  • У вас есть приведенное выше программное обеспечение. Вы также можете добавить программное обеспечение во время сборки или выпуска с помощью задач установщика инструментов.
    • Вы получаете недавно изображенный агент для каждого задания в конвейере.
  • Укажите 10 ГБ хранилища для выходных данных источника и сборки.
  • Укажите бесплатный уровень:
    • Общедоступный проект: 10 бесплатных параллельных заданий, размещенных корпорацией Майкрософт, которые могут выполняться до 360 минут (6 часов) каждый раз без общего ограничения времени в месяц. Обратитесь к нам , чтобы увеличить ограничения на бесплатный уровень.
    • Частный проект: одно бесплатное параллельное задание, которое может выполняться до 60 минут каждый раз, пока вы не использовали 1800 минут (30 часов) в месяц. Вы можете платить за дополнительную емкость на параллельное задание. Платные параллельные задания удаляют ежемесячный лимит времени и позволяют выполнять каждое задание до 360 минут (6 часов). Приобретение параллельных заданий, размещенных корпорацией Майкрософт.
    • При создании новой организации Azure DevOps эти бесплатные гранты по умолчанию не предоставляются. Чтобы запросить бесплатный грант для общедоступных или частных проектов, отправьте запрос.
  • Запустите виртуальные машины общего назначения Microsoft Azure Standard_DS2_v2.
  • Запустите от имени администратора в Windows и пользователя sudo без пароля в Linux.
  • (только Для Linux) Выполните шаги в cgroup 6 ГБ физической памяти и 13 ГБ общей памяти.
  • Используйте образы виртуальных машин, которые регулярно обновляются (каждые 3 недели).

Размещенные корпорацией Майкрософт агенты не предлагают:

  • Возможность удаленного подключения.
  • Возможность удалять артефакты в общую папку UNC.
  • Возможность присоединить компьютеры непосредственно к корпоративной сети.
  • Возможность получить более крупные или более мощные компьютеры сборки.
  • Возможность предварительной загрузки пользовательского программного обеспечения. Программное обеспечение можно установить во время выполнения конвейера, например с помощью задач установщика инструментов или скрипта.
  • Потенциальные преимущества производительности, которые можно получить с помощью локальных агентов, которые могут запускать и запускать сборки быстрее. Подробнее
  • Возможность запуска сборок XAML.
  • Возможность отката до предыдущей версии образа виртуальной машины. Вы всегда используете последнюю версию.

Если размещенные корпорацией Майкрософт агенты не соответствуют вашим потребностям, можно развернуть собственные локальные агенты или использовать агенты масштабируемого набора.

Вопросы и ответы

Как увидеть, какое программное обеспечение входит в образ?

Установленное программное обеспечение для каждого размещенного агента можно увидеть, выбрав ссылку "Включенное программное обеспечение " в таблице Software .

Примечание.

По умолчанию агент Windows использует версию Git, которая входит в состав программного обеспечения агента. Корпорация Майкрософт рекомендует использовать версию Git, которая входит в состав агента, но у вас есть несколько вариантов переопределить это поведение по умолчанию и использовать версию Git, установленную на компьютере агента в пути.

Чтобы просмотреть версию Git, используемую checkout конвейером, можно просмотреть журналы для шага в конвейере, как показано в следующем примере.

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

Как корпорация Майкрософт выбирает программное обеспечение и версии для создания образа?

Дополнительные сведения о версиях программного обеспечения, включенных на изображениях, см. в руководствах по установке.

Когда обновляются изображения?

Изображения обычно обновляются еженедельно. Вы можете проверка индикаторы состояния, которые находятся в формате20200113.x, в котором первая часть указывает дату обновления изображения.

Что делать, если требуется программное обеспечение, которое мне нужно удалить или заменить более новой версией?

Вы можете сообщить нам, задав вопрос с GitHub, выбрав ссылки "Включенное программное обеспечение " в таблице агента , размещенной корпорацией Майкрософт.

Вы также можете использовать автономный агент, содержащий точные версии необходимого программного обеспечения. Дополнительные сведения см. в разделе "Локальные агенты".

Что делать, если требуется больший компьютер с большей мощностью обработки, памятью или дисковыми пространствами?

Мы не можем увеличить объем памяти, мощности обработки или дискового пространства для агентов, размещенных корпорацией Майкрософт, но вы можете использовать автономные агенты или агенты масштабируемого набора, размещенные на компьютерах с нужными спецификациями.

Не удается выбрать размещенный корпорацией Майкрософт агент, и я не могу очередью сборки или развертывания. Что делать?

Размещенные корпорацией Майкрософт агенты доступны только в Azure Pipelines, а не в TFS или Azure DevOps Server.

По умолчанию все участник проекта в организации имеют доступ к размещенным корпорацией Майкрософт агентам. Но администратор организации может ограничить доступ агентов, размещенных корпорацией Майкрософт, для выбора пользователей или проектов. Попросите владельца организации Azure DevOps предоставить вам разрешение на использование размещенного корпорацией Майкрософт агента. См . раздел "Безопасность пула агентов".

Мои конвейеры в агентах, размещенных в Майкрософт, выполняются дольше других. Как ускорить их выполнение?

Если в последнее время конвейер стал выполняться медленнее, просмотрите страницу состояния, чтобы узнать, нет ли каких-либо сбоев. Возможно, возникли проблемы с нашей службой. Или же просмотрите все изменения, внесенные в код приложения или конвейер. Возможно, размер репозитория увеличился во время извлечения, вы отправляете артефакты большего размера или выполняете дополнительные тесты.

Если вы только настраиваете конвейер и сравниваете производительность агентов, размещенных в Майкрософт, с производительностью локальных компьютеров или локальных агентов, обратите внимание на спецификации оборудования, которое мы используем для выполнения заданий. Мы не можем предоставить вам более мощные компьютеры или компьютеры с большим объемом пространства. Вы можете использовать локальные агенты или агенты масштабируемого набора, если такая производительность неприемлема.

Мне нужно больше агентов. Что я могу сделать?

Все организации Azure DevOps предоставляют несколько бесплатных параллельных заданий для проектов с открытым кодом, а также один бесплатный параллельный рабочий процесс и ограниченные минуты каждый месяц для частных проектов. Если вам нужны дополнительные минуты или параллельные задания для проекта с открытым кодом, обратитесь в службу поддержки. Если вам нужны дополнительные минуты или параллельные задания для частного проекта, вы можете купить больше.

Мой конвейер успешно выполняется на локальном агенте, но завершается сбоем в агентах, размещенных корпорацией Майкрософт. Что делать?

Локальный агент, вероятно, имеет все правильные зависимости, установленные на нем, в то время как те же зависимости, средства и программное обеспечение не установлены на размещенных корпорацией Майкрософт агентах. Сначала внимательно просмотрите список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, следуя ссылке на включенное программное обеспечение в таблице выше. Затем сравните это с программным обеспечением, установленным на локальном агенте. В некоторых случаях агенты, размещенные корпорацией Майкрософт, могут иметь необходимые средства (например, Visual Studio), но все необходимые необязательные компоненты могут не быть установлены. Если вы найдете различия, у вас есть два варианта:

  • Вы можете создать новую проблему в репозитории, где отслеживаем запросы дополнительного программного обеспечения. Обращение в службу поддержки не может помочь вам настроить новое программное обеспечение на размещенных майкрософт агентах.

  • Вы можете использовать локальные агенты или агенты масштабируемого набора. С помощью этих агентов вы полностью управляете образами, которые используются для запуска конвейеров.

Моя сборка успешно выполняется на локальном компьютере, но завершается сбоем в агентах, размещенных корпорацией Майкрософт. Что делать?

Локальный компьютер, вероятно, имеет все правильные зависимости, установленные на нем, в то время как те же зависимости, средства и программное обеспечение не установлены на размещенных майкрософт агентах. Сначала внимательно просмотрите список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, следуя ссылке на включенное программное обеспечение в таблице выше. Затем сравните это с программным обеспечением, установленным на локальном компьютере. В некоторых случаях агенты, размещенные корпорацией Майкрософт, могут иметь необходимые средства (например, Visual Studio), но все необходимые необязательные компоненты могут не быть установлены. Если вы найдете различия, у вас есть два варианта:

  • Вы можете создать новую проблему в репозитории, где отслеживаем запросы дополнительного программного обеспечения. Это ваш лучший вариант для получения нового программного обеспечения. Обращение в службу поддержки не поможет вам настроить новое программное обеспечение на размещенных майкрософт агентах.

  • Вы можете использовать локальные агенты или агенты масштабируемого набора. С помощью этих агентов вы полностью управляете образами, которые используются для запуска конвейеров.

Мой конвейер завершается ошибкой: "Нет места на устройстве".

На размещенных агентах Майкрософт доступно только 10 ГБ дискового пространства для выполнения ваших заданий. Это пространство используется при проверка исходного кода при скачивании пакетов, при скачивании образов Docker или при создании промежуточных файлов. К сожалению, мы не можем увеличить свободное место, доступное на образах, размещенных корпорацией Майкрософт. Вы можете изменить структуру конвейера, чтобы он соответствовал этому пространству. Кроме того, можно использовать локальные агенты или агенты масштабируемого набора.

Мой конвейер, работающий в агентах, размещенных в Майкрософт, требует доступа к серверам в нашей корпоративной сети. Как получить список IP-адресов для разрешения в брандмауэре?

См. диапазоны IP-адресов агента раздела

Наш конвейер, работающий в агентах, размещенных корпорацией Майкрософт, не может разрешить имя сервера в корпоративной сети. Как это исправить?

Если вы ссылаетесь на сервер по DNS-имени, убедитесь, что ваш сервер доступен в Интернете через его DNS-имя. Если вы ссылаетесь на сервер по IP-адресу, убедитесь, что IP-адрес доступен в Интернете. В обоих случаях убедитесь, что в любом брандмауэре между агентами и корпоративной сетью разрешены диапазоны IP-адресов агента.

Я получаю ошибку авторизации IP-адреса SAS из учетной записи служба хранилища Azure

Если вы получаете код ошибки SAS, скорее всего, это связано с тем, что диапазоны IP-адресов от размещенных корпорацией Майкрософт агентов не разрешены из-за правил служба хранилища Azure. Существует несколько обходных решений.

  1. Управляйте правилами IP-сети для учетной записи служба хранилища Azure и добавьте диапазоны IP-адресов для размещенных агентов.
  2. В конвейере используйте Azure CLI для обновления набора правил сети для учетной записи служба хранилища Azure прямо перед доступом к хранилищу, а затем восстановите предыдущий набор правил.
  3. Используйте локальные агенты или агенты масштабируемого набора.

Как вручную выбрать версии средств в размещенном агенте macOS?

Xcode

Если вы используете задачу Xcode, включенную в Azure Pipelines и TFS, можно выбрать версию Xcode в свойствах этой задачи. В противном случае, чтобы вручную задать версию Xcode, используемую в пуле агентов размещенного macOS , перед xcodebuild выполнением задачи сборки выполните эту командную строку в рамках сборки, заменив номер версии Xcode 13.2 при необходимости:

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

Версии Xcode в пуле агентов размещенной macOS можно найти здесь для macos-11 агента и здесь для macos-12 агента.

Эта команда не работает для приложений Xamarin. Чтобы вручную выбрать версию Xcode для создания приложений Xamarin, см. приведенные выше инструкции.

Mono

Чтобы вручную выбрать версию Mono для использования в пуле агентов macOS размещенного компьютера macOS , выполните этот сценарий в каждом задании сборки перед задачей сборки Mono, указав связь с требуемой версией Mono:

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"