Примечание.
GitHubразмещенные в данный момент средства выполнения не поддерживаются в GitHub Enterprise Server.
Настройка прокси для средств запуска Linux и Windows
Если средству выполнения тестов необходимо взаимодействовать через прокси-сервер, вы можете настроить параметры прокси-сервера с помощью переменных среды или конфигураций системного уровня.
| Variable | Description | Example |
|---|---|---|
https_proxy | URL прокси для трафика HTTPS. При необходимости вы можете включить базовую аутентификацию. | http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.local |
http_proxy | URL прокси для HTTP-трафика. При необходимости вы можете включить базовую аутентификацию. | http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.local |
no_proxy | Разделенный запятыми список хостов или IP-адресов, которые должны обходить прокси. Некоторые клиенты учитывают IP-адреса только тогда, когда соединения устанавливаются непосредственно с IP-адресом, а не с именем хоста. | example.comexample.com,myserver.local:443,example.org |
Переменные среды прокси считываются при запуске приложения средства выполнения, поэтому необходимо задать переменные среды перед настройкой или запуском приложения средства выполнения. Если конфигурация прокси-сервера изменится, необходимо перезапустить приложение средства выполнения.
На компьютерах с Windows имена переменных среды прокси не чувствительны к регистру. На компьютерах с Linux и macOS рекомендуется использовать только строчные символы в переменных среды. Если у вас есть переменная среды в нижнем и верхнем регистре в Linux или macOS, например https_proxy и HTTPS_PROXY, локальное приложение Runner использует переменную среды в нижнем регистре.
Подключение между локальными средствами выполнения и переменными данных.product.github %} превышает HTTP (порт 80) или HTTPS (порт 443). Чтобы обеспечить подключение по протоколу HTTPS, настройте TLS для GitHub Enterprise Server. Дополнительные сведения см. в разделе Настройка TLS.
Примеры конфигураций
Примечание.
Чтобы избежать проблем, рекомендуется рассматривать переменные среды как конфиденциальные регистры независимо от поведения операционной системы и используемой оболочки.
Linux и macOS
Установите переменные среды прокси для средства выполнения.
export https_proxy=http://proxy.local:8080 export http_proxy=http://proxy.local:8080 export no_proxy=example.com,localhost,127.0.0.1
export https_proxy=http://proxy.local:8080
export http_proxy=http://proxy.local:8080
export no_proxy=example.com,localhost,127.0.0.1
Виндоус
В Windows вы можете настроить параметры прокси либо путем установки переменных среды, либо с помощью команды netsh. Подход netsh применяется к приложениям и службам, использующим API WinHTTP.
Настройка переменных среды по-прежнему требуется для средств выполнения, использующих частную сеть. Нужно ли вам также настраивать netsh, зависит от приложений, используемых в ваших рабочих процессах.
netsh winhttp set advproxy setting-scope=machine settings={\"Proxy\":\"proxy.local:8080\",\"ProxyBypass\":\"168.63.129.16;169.254.169.254\",\"AutoconfigUrl\":\"\",\"AutoDetect\":false}
netsh winhttp set advproxy setting-scope=machine settings={\"Proxy\":\"proxy.local:8080\",\"ProxyBypass\":\"168.63.129.16;169.254.169.254\",\"AutoconfigUrl\":\"\",\"AutoDetect\":false}
При настройке этого параметра во время создания пользовательского образа используйте его setting-scope=machine , чтобы параметры прокси-сервера сохранялись после перезагрузки и во время создания образа виртуальной машины.
Сохранение настроек прокси
При настройке этих переменных среды во время создания пользовательского образа убедитесь, что конфигурация сохраняется при перезагрузке или перестроении образа.
Linux и macOS
Запишите переменные в /etc/environment.
echo 'http_proxy=http://proxy.local' >> /etc/environment
Виндоус
Задайте общесистемные переменные среды.
[Environment]::SetEnvironmentVariable("http_proxy", "http://proxy.local", "Machine")
[Environment]::SetEnvironmentVariable("http_proxy", "http://proxy.local", "Machine")
Настройка прокси-сервера для средств выполнения Azure
Если средство выполнения тестов размещено в Azure в качестве локального средства выполнения тестов или более крупного средства выполнения, размещенного в GitHub и развернутого с использованием частной сети, вам может потребоваться настроить прокси-сервер, чтобы разрешить исходящее подключение к службам GitHub при сохранении сетевой изоляции.
В список следует добавить метаданные Azure и IP-адреса no_proxy управления, чтобы средство выполнения тестов могло получить доступ к необходимым службам Azure. Эти конечные точки позволяют виртуальным машинам Azure получать сведения о конфигурации и удостоверениях, необходимые для правильной работы.
Вот два IP-адреса Azure:
- 168.63.129.16 (см. общие сведения об IP-адресе Azure 168.63.129.16)
- 169.254.169.254 (см. раздел Служба метаданных экземпляров Azure)
Использование файла .env для настройки конфигурации прокси-сервера
Примечание.
Использование .env файла для настройки конфигурации прокси-сервера не может быть выполнено в средстве выполнения, размещенном в GitHub.
В локальных средствах выполнения тестов вы можете настроить параметры прокси-сервера, добавив переменные в .env файл в каталоге приложения локального средства выполнения тестов (каталоге, в котором вы скачали и распаковали программное обеспечение средства выполнения). Этот подход полезен, когда средство выполнения тестов настроено для запуска в качестве службы под системной учетной записью. Когда средство выполнения запускается, оно считывает переменные, заданные .env для конфигурации прокси.
Пример .env конфигурации прокси-сервера
https_proxy=http://proxy.local:8080 no_proxy=example.com,myserver.local:443
https_proxy=http://proxy.local:8080
no_proxy=example.com,myserver.local:443
Настройка конфигурации прокси-сервера для контейнеров Docker
Если в рабочих процессах используются действия контейнера Docker или контейнеры служб, возможно, потребуется настроить Docker для применения прокси-сервера в дополнение к настройке вышеуказанных переменных среды.
Сведения о требуемой конфигурации Docker см. в разделе "Настройка Docker" для использования прокси-сервера в документации По Docker.