Агенты, размещенные Microsoft
Azure DevOps Services
Размещенные корпорацией Майкрософт агенты доступны только в Azure DevOps Services, которая размещается в облаке. Вы не можете использовать находящиеся в облаке агенты Microsoft или пул агентов Azure Pipelines с локальными версиями TFS или Azure DevOps Server. При использовании этих локальных версий необходимо использовать локальные агенты.
Внимание
Выберите версию этой статьи, соответствующую вашей платформе и версии. Селектор версий находится над оглавлением. Просмотрите платформу и версию Azure DevOps.
Если конвейеры находятся в Azure Pipelines, у вас есть удобный вариант для запуска заданий с помощью размещенного корпорацией Майкрософт агента. При использовании агентов, размещенных в Microsoft, обновления и обслуживание выполняются автоматически. Вы всегда получаете последнюю версию образа виртуальной машины, указанного в конвейере. Каждый раз при запуске конвейера вы получаете новую виртуальную машину для каждой задачи в конвейере. Виртуальная машина перестает использоваться после одного задания (это означает, что любое изменение, которое задание вносит в файловую систему виртуальной машины, например проверка кода, для следующего задания будет недоступно). Размещенные корпорацией Майкрософт агенты могут выполнять задания непосредственно на виртуальной машине или в контейнере.
Azure Pipelines предоставляет заранее определенный пул агентов с именем Azure Pipelines с агентами, размещенными в Microsoft.
Для многих команд это самый простой способ выполнения заданий. Вы можете сначала попробовать это и узнать, подходит ли оно для вашей сборки или развертывания. В противном случае можно использовать агенты набора масштабирования или локальный агент.
Совет
Вы можете попробовать размещенный корпорацией Майкрософт агент без оплаты.
Программное обеспечение.
Пул агентов Azure Pipelines предлагает несколько образов виртуальных машин для выбора, включая широкий спектр средств и программного обеспечения.
Изображение | Спецификация агента классического редактора | Метка образа виртуальной машины YAML | Включенное программное обеспечение |
---|---|---|---|
Windows Server 2025 с Visual Studio 2022 (предварительная версия) | windows-2025 | windows-2025 |
Ссылка |
Windows Server 2022 с Visual Studio 2022 | Windows-2022 |
windows-latest ИЛИ windows-2022 |
Ссылка |
Windows Server 2019 с Visual Studio 2019 | Windows-2019 | windows-2019 |
Ссылка |
Ubuntu 24.04 | ubuntu-24.04 | ubuntu-24.04 |
Ссылка |
Ubuntu 22.04 | ubuntu-22.04 |
ubuntu-latest ИЛИ ubuntu-22.04 |
Ссылка |
Ubuntu 20.04 | ubuntu-20.04 | ubuntu-20.04 |
Ссылка |
macOS 15 Sequoia (предварительная версия) | macOS-15 | macOS-15 |
Ссылка |
macOS 14 Sonoma | macOS-14 |
macOS-latest ИЛИ macOS-14 |
Ссылка |
macOS 13 Ventura | macOS-13 | macOS-13 |
Ссылка |
Образ агента по умолчанию для классических конвейеров сборки — windows-2019, а для конвейеров сборки YAML — ubuntu-latest
. Для получения дополнительной информации см. Назначьте пул в вашем конвейере.
Установленное программное обеспечение для каждого размещенного агента можно увидеть, выбрав ссылку "Включенное программное обеспечение " в таблице. При использовании образов macOS вы можете вручную выбрать нужную версию инструмента. Дополнительные сведения
Последние обновления
- Образ Windows-2025 доступен в предварительной версии
- Образ macOS-12 Monterey больше не поддерживается.
- Изображение macOS-15 Sequoia доступно в предварительной версии
- Образ Ubuntu-24.04 доступен
- Изображение macOS-12 Monterey устарело и будет прекращено 3 декабря 2024 года.
- Образ Ubuntu-22.04 доступен
- Образ macOS-14 Sonoma доступен в предварительной версии.
- Образ macOS-11 Big Sur признан устаревшим и будет снят с использования 28 июня 2024 года.
- Все размещенные агенты Microsoft начнут переход с PowerShell 7.2 LTS на PowerShell 7.4 LTS с 28-го января. Дополнительные сведения, включая потенциальные критические изменения, см. в разделе агенты, размещённые на платформе Microsoft, используют PowerShell 7.4.
- Образ macOS 13 общедоступен
- Образ macOS 10.15 более не поддерживается с 24.04.2023.
- Образ Ubuntu 18.04 больше не поддерживается.
-
ubuntu-latest
изображения используютubuntu-22.04
. - Общая доступность Ubuntu 22.04 для пулов, размещенных в Azure Pipelines.
- Процесс устаревания образа Ubuntu 18.04 начнётся с 8.8.22 и будет полностью неподдерживаемым к 4.1.2023.
- Образ macOS 10.15 будет постепенно выводиться из эксплуатации с 31.05.2022 и больше не будет поддерживаться с 01.12.2022.
-
windows-latest
изображения используютwindows-2022
. -
macOS-latest
изображения используютmacOS-11
. - Размещенное изображение Ubuntu 16.04 было удалено в сентябре 2021 года.
- Образ Windows Server 2016 с Visual Studio 2017 переведен в разряд устаревших и вышел из поддержки 30 июня 2022 г. Ознакомьтесь с этой записью блога о том, как определить конвейеры с помощью устаревших образов.
- В декабре 2021 г. мы удалили следующий размещенный образ Azure Pipelines:
- macOS X Mojave 10.14 (
macOS-10.14
)
- macOS X Mojave 10.14 (
- В марте 2020 года мы удалили следующие размещенные образы Azure Pipelines:
- Windows Server 2012R2 с Visual Studio 2015 (
vs2015-win2012r2
) - macOS X High Sierra 10.13 (
macOS-10.13
) - Windows Server Core 1803 (
win1803
)
- Windows Server 2012R2 с Visual Studio 2015 (
Клиентам рекомендуется перейти на более новые версии или локальный агент.
Для получения дополнительной информации и инструкций по обновлению конвейеров, использующих эти образы, см. статью «Удаление старых образов в размещенных пулах Azure Pipelines».
Примечание.
Пул, размещенный в 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-файле. Если вы заметили, что ваш конвейер не работает на ожидаемом образе, убедитесь, что вы проверяете спецификацию пула на уровнях конвейера, этапа и задания.
Избегайте жестко закодированных ссылок
При использовании агента, размещенного корпорацией Майкрософт, всегда используйте переменные для ссылки на среду сборки и ресурсы агента. Например, не жёстко прописывайте букву диска или папку, содержащую репозиторий. Структура размещенных агентов может изменяться в любое время без предупреждения.
Оборудование
Агенты, предоставляемые Microsoft и запускающие образы операционных систем Windows и Linux, работают на виртуальных машинах общего назначения Azure с процессором на 2 ядра, 7 ГБ оперативной памяти и 14 ГБ дискового пространства на SSD. Эти виртуальные машины находятся в той же географической области, что и ваша организация Azure DevOps.
Агенты, запускающие образы macOS, подготавливаются на компьютерах Mac Pro с 3 ядрами ЦП, 14 ГБ ОЗУ и 14 ГБ дискового пространства на SSD. Эти агенты всегда работают в США вне зависимости от расположения вашей организации Azure DevOps. Если для вас важна независимость данных, и если ваша организация находится за пределами США, то образы macOS использовать не следует. Подробнее.
На всех этих компьютерах имеется для запуска конвейеров не менее 10 ГБ свободного места на диске. Это свободное место используется при проверке исходного кода, загрузке пакетов, извлечении Docker-образов или создании промежуточных файлов.
Внимание
Мы не можем выполнять запросы на увеличение места на диске у агентов, размещённых в Microsoft, или на предоставление более мощных машин. Если спецификации размещенных корпорацией Майкрософт агентов не соответствуют вашим потребностям, следует рассмотреть возможность локально размещенных агентов или агентов масштабируемого набора или управляемых пулов DevOps.
Сеть
В некоторых системах может потребоваться знать диапазон 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-адресов для агентов, размещенных корпорацией Майкрософт
- Определите регион для организации в параметрах организации.
- Определите географию Azure для региона вашей организации.
- Сопоставляйте имена регионов в географическом регионе с форматом, используемым в еженедельном файле, следуя формату
AzureCloud.<region>
, напримерAzureCloud.westus
. Имена регионов из списка географии Azure можно сопоставить с форматом, используемым в еженедельном файле, просмотрев имена регионов, переданных конструктору регионов, определенных в исходном коде класса Region, из библиотек управления Azure для .NET.Примечание.
Так как в библиотеках управления Azure нет API для .NET для перечисления регионов для географического региона, их необходимо вывести вручную, как показано в следующем примере.
- Извлеките 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-адресам. Таким образом, внешние сущности не могут нацелиться на агентов, размещенных корпорацией Майкрософт.
- Агенты, размещенные корпорацией Майкрософт, выполняются на отдельных виртуальных машинах, которые пересоздаются после каждого запуска. Каждый агент предназначен для одной организации, и каждая виртуальная машина размещает только один агент.
- Существует несколько преимуществ для запуска конвейера на агентах, предоставленных корпорацией Майкрософт, с точки зрения безопасности. Если вы запускаете ненадежный код в конвейере, например изменения из форков, безопаснее запускать конвейер на агентах, предоставляемых Microsoft, чем на самостоятельно администрируемых агентах, которые находятся в вашей корпоративной сети.
- Если конвейеру необходимо получить доступ к корпоративным ресурсам за брандмауэром, необходимо разрешить диапазон IP-адресов для географической области Azure. Это может увеличить уровень воздействия, так как диапазон IP-адресов довольно велик, и так как компьютеры в этом диапазоне также могут принадлежать другим клиентам. Лучший способ предотвратить это заключается в том, чтобы избежать необходимости доступа к внутренним ресурсам. Информацию о развертывании артефактов на серверах см. в разделе Обмен данными для развертывания на целевых серверах.
- Размещенные образы не соответствуют стандартам усиления безопасности CIS. Чтобы использовать образы, защищенные CIS, необходимо создать локальные агенты или агенты масштабируемого набора или пулы Managed DevOps.
Возможности и ограничения
Агенты, размещенные корпорацией Майкрософт:
- У вас есть приведенное выше программное обеспечение. Вы также можете добавить программное обеспечение во время сборки или выпуска с помощью задач установщика инструментов.
- Вы получаете недавно изображенный агент для каждого задания в конвейере.
- Предоставьте 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.
- Возможность отката до предыдущей версии образа виртуальной машины. Вы всегда используете последнюю версию.
Если размещенные корпорацией Майкрософт агенты не соответствуют вашим потребностям, можно развернуть собственные локальные агенты или использовать агенты масштабируемого набора или управляемых пулов DevOps.
Вопросы и ответы
Как увидеть, какое программное обеспечение входит в образ?
Установленное программное обеспечение для каждого размещенного агента можно увидеть, выбрав ссылку "Включенное программное обеспечение " в таблице Software .
Примечание.
По умолчанию агент Windows использует версию Git, которая входит в состав программного обеспечения агента. Корпорация Майкрософт рекомендует использовать версию Git, которая входит в состав агента, но у вас есть несколько вариантов переопределить это поведение по умолчанию и использовать версию Git, установленную на компьютере агента в пути.
- Задайте переменную конвейера с именем
System.PreferGitFromPath
наtrue
в ваших конвейерах. - В локальных агентах можно создать файл с именем ENV в корневом каталоге агента и добавить
System.PreferGitFromPath=true
строку в файл. Для получения дополнительной информации см. Как установить различные переменные среды для каждого отдельного агента?
Чтобы просмотреть версию Git, используемую в конвейере, можно просмотреть журналы для шага в конвейере, что показано в следующем примере.
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, выбрав ссылки "Включенное программное обеспечение" в таблице Использование агента, размещенного корпорацией Майкрософт.
Вы также можете использовать автономный агент, содержащий точные версии необходимого программного обеспечения. Дополнительные сведения см. в разделе "Локальные агенты".
Что делать, если требуется больший компьютер с большей мощностью обработки, памятью или дисковыми пространствами?
Мы не можем увеличить объем памяти, вычислительной мощности или дискового пространства для агентов, размещенных корпорацией Майкрософт, но вы можете использовать локальные агенты или агенты масштабируемых наборов или управляемые пулы DevOps, размещенные на компьютерах с нужными спецификациями.
Не удается выбрать агент, размещённый Microsoft, и я не могу поставить в очередь мою сборку или развертывание. Что делать?
Размещенные корпорацией Майкрософт агенты доступны только в Azure Pipelines, а не в TFS или Azure DevOps Server.
По умолчанию все участники проекта в организации имеют доступ к размещенным корпорацией Майкрософт агентам. Но администратор организации может ограничить доступ агентов, размещенных корпорацией Майкрософт, для выбора пользователей или проектов. Попросите владельца организации Azure DevOps предоставить вам разрешение на использование размещенного корпорацией Майкрософт агента. См. безопасность пула агентов.
Мои пакеты с использованием агентов, предоставляемых Microsoft, выполняются дольше. Как ускорить их?
Если ваша конвейерная линия в последнее время стала медленнее, просмотрите страницу состояния, чтобы узнать, нет ли сбоев. Возможно, возникли проблемы с нашей службой. Или же просмотрите все изменения, внесенные в код приложения или конвейер. Возможно, размер репозитория увеличился во время выгрузки, вы отправляете артефакты более крупного размера или выполняете больше тестов.
Если вы только настраиваете конвейер и сравниваете производительность агентов, размещенных в Майкрософт, с производительностью локальных компьютеров или локальных агентов, обратите внимание на спецификации оборудования, которое мы используем для выполнения заданий. Мы не можем предоставить вам более крупные или мощные машины. Вы можете рассмотреть возможность использования агентов на собственных серверах, агентов в масштабируемом наборе или управляемых пулов DevOps, если эта производительность вас не устраивает.
Мне нужно больше агентов. Что я могу сделать?
Все организации Azure DevOps предоставляют несколько бесплатных параллельных заданий для проектов с открытым кодом, а также один бесплатный параллельный рабочий процесс и ограниченные минуты каждый месяц для частных проектов. Если вам нужны дополнительные минуты или параллельные задания для проекта с открытым кодом, обратитесь в службу поддержки. Если вам нужны дополнительные минуты или параллельные задания для частного проекта, вы можете купить больше.
Мой поток успешно выполняется на локальном агенте, но завершается сбоем на агенте Microsoft. Что делать?
Ваш агент, размещённый самостоятельно, вероятно, имеет все необходимые зависимости, в то время как те же зависимости, инструменты и программное обеспечение не установлены на агентах, размещённых Microsoft. Сначала внимательно просмотрите список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, следуя ссылке на включенное программное обеспечение в таблице выше. Затем сравните это с программным обеспечением, установленным на локальном агенте. В некоторых случаях агенты, размещенные корпорацией Майкрософт, могут иметь необходимые средства (например, Visual Studio), но все необходимые необязательные компоненты могут не быть установлены. Если вы найдете различия, у вас есть два варианта:
Вы можете создать новую проблему в репозитории, где отслеживаем запросы дополнительного программного обеспечения. Обращение в службу поддержки не может помочь вам настроить новое программное обеспечение на размещенных майкрософт агентах.
Вы можете использовать локально размещенных агентов или агентов масштабируемого набора или управляемых пулов DevOps. С помощью этих агентов вы полностью управляете образами, которые используются для запуска конвейеров.
Моя сборка успешно выполняется на локальном компьютере, но терпит неудачу при использовании агентов Microsoft. Что делать?
Ваш локальный компьютер, вероятно, имеет все необходимые зависимости, установленные на нем, в то время как те же зависимости, средства и программное обеспечение не установлены на размещенных Майкрософт агентах. Сначала внимательно просмотрите список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, следуя ссылке на включенное программное обеспечение в таблице выше. Затем сравните это с программным обеспечением, установленным на локальном компьютере. В некоторых случаях агенты, размещенные корпорацией Майкрософт, могут иметь необходимые средства (например, Visual Studio), но все необходимые необязательные компоненты могут не быть установлены. Если вы найдете различия, у вас есть два варианта:
Вы можете создать новую проблему в репозитории, где отслеживаем запросы дополнительного программного обеспечения. Это ваш лучший выбор для установки нового программного обеспечения. Обращение в службу поддержки не поможет вам настроить новое программное обеспечение на размещенных майкрософт агентах.
Вы можете использовать локально размещенных агентов или агентов масштабируемого набора или управляемых пулов DevOps. С помощью этих агентов вы полностью управляете образами, которые используются для запуска конвейеров.
Мой процесс завершается с ошибкой: "Нет места на устройстве".
На агентах, размещенных Майкрософт, доступно только 10 ГБ дискового пространства для выполнения ваших задач. Это пространство используется при извлечении исходного кода при скачивании пакетов, при скачивании образов Docker или при создании промежуточных файлов. К сожалению, мы не можем увеличить свободное место, доступное на образах, размещенных корпорацией Майкрософт. Вы можете изменить структуру конвейера, чтобы он соответствовал этому пространству. Кроме того, можно использовать локальные агенты , или агенты масштабируемого набора , или управляемые пулы DevOps .
Мой поток, работающий на агентах, размещенных на серверах Microsoft, требует доступа к серверам в нашей корпоративной сети. Как нам получить список IP-адресов для добавления в наш брандмауэр?
См. диапазоны IP-адресов агента раздела
Наш процесс, работающий на агентах, размещенных на платформе Microsoft, не может определить имя сервера в нашей корпоративной сети. Как это исправить?
Если вы ссылаетесь на сервер по DNS-имени, убедитесь, что ваш сервер доступен в Интернете через его DNS-имя. Если вы ссылаетесь на сервер по IP-адресу, убедитесь, что IP-адрес доступен в Интернете. В обоих случаях убедитесь, что любой брандмауэр между агентами и вашей корпоративной сетью разрешает диапазоны IP-адресов агента.
Я получаю ошибку авторизации IP-адреса SAS в учетной записи Azure Storage.
Если вы получаете код ошибки SAS, скорее всего, это связано с тем, что диапазоны IP-адресов агентов, размещенных у корпорации Майкрософт, не разрешены из-за правил службы хранилища Azure. Существует несколько обходных решений.
- Управляйте правилами IP-сети для вашего аккаунта в службе хранения Azure и добавьте диапазоны IP-адресов для ваших хостинговых агентов.
- В вашем конвейере используйте Azure CLI для обновления набора правил сети для учетной записи хранилища Azure непосредственно перед доступом к хранилищу, а затем восстановите предыдущий набор правил.
- Используйте самостоятельно управляемые агенты или масштабируемые агенты или управляемые пулы DevOps.
Как вручную выбрать версии инструментов на предоставляемом агенте macOS?
Xcode
Если вы используете задачу Xcode, включенную в Azure Pipelines и TFS, можно выбрать версию Xcode в свойствах этой задачи. Иначе, чтобы вручную задать версию Xcode, используемую в пуле Hosted macOS агентов, до выполнения задачи сборки xcodebuild
, выполните эту команду в процессе сборки, заменив номер версии Xcode 13.2 при необходимости.
/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"
Версии Xcode на размещенном пуле агентов macOS можно найти здесь.
Mono
Чтобы вручную выбрать версию Mono для использования в пуле агентов Hosted 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"