Поделиться через


Запуск автономного агента за веб-прокси

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Если для локального агента требуется веб-прокси, вы можете сообщить агенту о прокси-сервере во время настройки. Это позволяет агенту подключаться к Azure Pipelines или TFS через прокси-сервер. Это, в свою очередь, позволяет агенту получать источники и скачивать артефакты. Наконец, он передает сведения о прокси-сервере в задачи, которые также нуждаются в параметрах прокси для доступа к Интернету.

Azure Pipelines, TFS 2018 RTM и более поздней версии

(Применяется к агенту версии 2.122 и более поздней.)

Чтобы разрешить агенту выполняться за веб-прокси, передавать --proxyurl--proxyusername и --proxypassword во время настройки агента.

Например:

./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "myuser" --proxypassword "mypass"

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

Примечание.

Агент версии 122.0, который поставляется с TFS 2018 RTM, имеет известную проблему, настраивающую как службу в Windows. Так как хранилище учетных данных Windows на пользователя, необходимо настроить агент с помощью того же пользователя, что и служба. Например, чтобы настроить запуск службы агента как mydomain\buildadmin, необходимо запустить config.cmd как mydomain\buildadmin. Это можно сделать, войдите на компьютер с этим пользователем или с помощью Run as a different user оболочки Windows.

Как агент обрабатывает прокси-сервер в задании сборки или выпуска

Агент будет взаимодействовать со службой Azure DevOps/TFS через веб-прокси, указанный .proxy в файле.

Так как код Get Source задачи в сборках и Download Artifact задачах в выпусках также запекается в агенте, эти задачи будут следовать конфигурации прокси-сервера агента из .proxy файла.

Агент предоставляет конфигурацию прокси-сервера с помощью переменных среды для каждого выполнения задачи. Авторы задач должны использовать методы azure-pipelines-task-lib для получения конфигурации прокси-сервера и обработки прокси-сервера в своей задаче.

Обратите внимание, что многие средства не используют автоматически настроенные параметры прокси-сервера агента. Например, такие средства, как curl и dotnet могут требовать переменные среды прокси-сервера, например http_proxy , для установки на компьютере.

Указание URL-адресов обхода прокси-сервера

.proxybypass Создайте файл в корневом каталоге агента, который указывает регулярные выражения (в синтаксисе ECMAScript) для сопоставления URL-адресов, которые должны обойти прокси-сервер. Например:

github\.com
bitbucket\.com