Размещенные агенты Microsoft

Azure DevOps Services

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

Внимание

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

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

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

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

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

Совет

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

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

Пул агентов 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"