Примечание.
GitHub Enterprise Serverразмещенные в данный момент средства выполнения не поддерживаются в GitHub.
Настройка прокси для средств запуска Linux и Windows
Если средству выполнения тестов необходимо взаимодействовать через прокси-сервер, вы можете настроить параметры прокси-сервера с помощью переменных среды или конфигураций системного уровня.
| Variable | Description | Example |
|---|---|---|
https_proxy | URL прокси для трафика HTTPS. При необходимости вы можете включить базовую аутентификацию. | http:/http:/http:/ |
http_proxy | URL прокси для HTTP-трафика. При необходимости вы можете включить базовую аутентификацию. | http:/http:/http:/ |
no_proxy | Разделенный запятыми список хостов или IP-адресов, которые должны обходить прокси. Некоторые клиенты учитывают IP-адреса только тогда, когда соединения устанавливаются непосредственно с IP-адресом, а не с именем хоста. | example.comexample.com,myserver.local:443,example.org |
Переменные среды прокси считываются при запуске приложения средства выполнения, поэтому необходимо задать переменные среды перед настройкой или запуском приложения средства выполнения. Если конфигурация прокси-сервера изменится, необходимо перезапустить приложение средства выполнения.
На компьютерах с Windows имена переменных среды прокси не чувствительны к регистру. На компьютерах с Linux и macOS рекомендуется использовать только строчные символы в переменных среды. Если у вас есть переменная среды в нижнем и верхнем регистре в Linux или macOS, например https_proxy и HTTPS_PROXY, локальное приложение Runner использует переменную среды в нижнем регистре.
Подключение между локальными запусками и GitHub через HTTP (порт 80) или HTTPS (порт 443). Чтобы обеспечить подключение по протоколу HTTPS, настройте TLS для GitHub Enterprise Server. Для получения дополнительной информации см. Настройка TLS.
Предупреждение
Самостоятельные раннеры не поддерживают использование IP-адресов и диапазонов CIDR в no_proxy переменной среды. Если ваш GitHub Enterprise Server экземпляр использует IP-адрес и вы настроите no_proxy обход прокси для этого адреса, раннер всё равно не сможет подключиться.
Если к вашему GitHub Enterprise Server экземпляру обращается с IP-адреса, и соединение должно обойти прокси, раннер не сможет подключиться, даже если этот IP-адрес указан в no_proxy.
Примеры конфигураций
Примечание.
Чтобы избежать проблем, рекомендуется рассматривать переменные среды как конфиденциальные регистры независимо от поведения операционной системы и используемой оболочки.
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.