Skip to main content

Enterprise Server 3.20 в настоящее время доступен в качестве кандидата на выпуск.

Использование прокси-серверов с раннером

Вы можете настроить средства выполнения тестов в изолированных средах для использования прокси-сервера для безопасного обмена данными с GitHub.

Примечание.

GitHubразмещенные в данный момент средства выполнения не поддерживаются в GitHub Enterprise Server.

Настройка прокси для средств запуска Linux и Windows

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

VariableDescriptionExample
https_proxyURL прокси для трафика HTTPS. При необходимости вы можете включить базовую аутентификацию.http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
http_proxyURL прокси для HTTP-трафика. При необходимости вы можете включить базовую аутентификацию.http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
no_proxyРазделенный запятыми список хостов или IP-адресов, которые должны обходить прокси. Некоторые клиенты учитывают IP-адреса только тогда, когда соединения устанавливаются непосредственно с IP-адресом, а не с именем хоста.example.com
example.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

Установите переменные среды прокси для средства выполнения.

Shell
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, зависит от приложений, используемых в ваших рабочих процессах.

Shell
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

Виндоус

Задайте общесистемные переменные среды.

Shell
[Environment]::SetEnvironmentVariable("http_proxy", "http://proxy.local", "Machine")

Настройка прокси-сервера для средств выполнения Azure

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

В список следует добавить метаданные Azure и IP-адреса no_proxy управления, чтобы средство выполнения тестов могло получить доступ к необходимым службам Azure. Эти конечные точки позволяют виртуальным машинам Azure получать сведения о конфигурации и удостоверениях, необходимые для правильной работы.

Вот два IP-адреса Azure:

Использование файла .env для настройки конфигурации прокси-сервера

Примечание.

Использование .env файла для настройки конфигурации прокси-сервера не может быть выполнено в средстве выполнения, размещенном в GitHub.

В локальных средствах выполнения тестов вы можете настроить параметры прокси-сервера, добавив переменные в .env файл в каталоге приложения локального средства выполнения тестов (каталоге, в котором вы скачали и распаковали программное обеспечение средства выполнения). Этот подход полезен, когда средство выполнения тестов настроено для запуска в качестве службы под системной учетной записью. Когда средство выполнения запускается, оно считывает переменные, заданные .env для конфигурации прокси.

Пример .env конфигурации прокси-сервера

Shell
https_proxy=http://proxy.local:8080
no_proxy=example.com,myserver.local:443

Настройка конфигурации прокси-сервера для контейнеров Docker

Если в рабочих процессах используются действия контейнера Docker или контейнеры служб, возможно, потребуется настроить Docker для применения прокси-сервера в дополнение к настройке вышеуказанных переменных среды.

Сведения о требуемой конфигурации Docker см. в разделе "Настройка Docker" для использования прокси-сервера в документации По Docker.