Управление средствами выполнения
В этом разделе вы изучите различные инструменты и стратегии, доступные для вас в GitHub Enterprise Cloud и GitHub Enterprise Server для управления использованием runners GitHub Actions в вашей организации.
Выберите соответствующее средство выполнения для своей рабочей нагрузки
Два типа runners могут выполнять рабочие процессы GitHub Actions: GitHub, размещенные в GitHub, или локальные runners.
Примечание.
Средства выполнения, размещенные в GitHub, доступны только для Enterprise Cloud. Если у вас есть экземпляр Enterprise Server, этот раздел неприменим к вам.
GitHub, размещенные в GitHub, предлагают более быстрый и простой способ выполнения рабочих процессов, а локальные средства выполнения — это высококонфигурируемый способ выполнения рабочих процессов в собственной пользовательской среде. Например, если вам нужно использовать список разрешений IP-адресов для организации или специализированную конфигурацию оборудования для выполнения рабочих процессов, используйте локальное средство выполнения.
В следующей таблице сравниваются размещенные на сайте GitHub средства выполнения и локальные runners. Используйте ее, чтобы выбрать подходящее средство выполнения для рабочей нагрузки.
Средства выполнения тестов, размещенные в GitHub | Локальные средства выполнения тестов |
---|---|
Получение автоматических обновлений для операционной системы, предварительно установленных пакетов и средств, а также самостоятельного приложения средства выполнения. | Получение автоматических обновлений только для самостоятельного приложения средства выполнения. Вы несете ответственность за обновление операционной системы и всех других программ. |
Управляемый и поддерживаемый GitHub. | Может использовать облачные службы или локальные компьютеры, за которые вы уже платите. Также можно настроить требования к оборудованию, операционной системе, программному обеспечению и безопасности. |
Предоставляют чистый экземпляр для каждого выполнения задания. | Не нуждаются в чистом экземпляре для каждого выполнения задания. |
Используйте бесплатные минуты в плане GitHub с поминутными тарифами, которые применяются после превышения количества бесплатных минут. | Вы можете использовать с GitHub Actions, но вы несете ответственность за обслуживание компьютеров бегуна. |
Настройка доступа к самостоятельным средствам выполнения
В Enterprise Cloud и Enterprise Server локальные группы средств выполнения позволяют управлять доступом к самостоятельным средствам выполнения на уровне организации и предприятия. Эта функция может пригодиться в тех случаях, когда необходимо ограничить доступ к локальным бегунам определенным организациям или пользователям. Например, на основе уровня доверия для этих организаций или пользователей или снижения рисков безопасности.
Предположим, что вы хотите разрешить развертывание кода в рабочей среде только определенным организациям в вашем экземпляре предприятия. Вы можете создать группу, содержащую все средства выполнения, развертывающие код в рабочей среде на уровне предприятия, и ограничить доступ к группе определенным организациям, авторизованным для развертывания кода.
Чтобы создать группы на уровне предприятия, перейдите к своей учетной записи предприятия, а затем выберите Политики > Действия в боковой панели. На вкладке "Группы runner" выберите "Создать группу runner". Появится экран, который позволит указать имя группы и политику доступа для организаций.
Чтобы создать группы на уровне организации, перейдите к Параметрам своей организации, а затем к Действиям на боковой панели. Выберите группы runner, а затем группу runner. Появится экран, который позволит указать имя группы и политику доступа для репозиториев.
При создании новых бегунов они автоматически назначаются группе по умолчанию в организации или организации. Запуски могут находиться только в одной группе за раз, но как Enterprise Cloud, так и Enterprise Server позволяют перемещать бегуни из группы по умолчанию в другую группу.
Настройка самостоятельных средств выполнения для корпоративного использования
Enterprise Cloud и Enterprise Server предлагают несколько функций, позволяющих настроить самостоятельные средства выполнения для использования в организации. Некоторые из этих функций включают метки, прокси-серверы и списки разрешений IP-адресов.
Наклейки
Локальные средства выполнения автоматически получают метки по умолчанию при добавлении в GitHub Actions. Эти метки по умолчанию указывают на архитектуру операционной системы и оборудования запуска, как показано в таблице:
Метка по умолчанию | Description |
---|---|
self-hosted |
Метка по умолчанию, применяемая ко всем самостоятельным средствам выполнения |
linux , windows или macOS |
Применяется в зависимости от операционной системы средства выполнения. |
x64 , ARM или ARM64 |
Применяется в зависимости от аппаратной архитектуры средства выполнения. |
В верхней части этих меток по умолчанию Enterprise Cloud и Enterprise Server можно создавать и добавлять пользовательские метки в средства выполнения. Пользовательские метки можно использовать, когда необходимо выполнять задания в средствах выполнения, имеющих конкретные возможности. Например, если для задания в одном из рабочих процессов требуется конкретный тип графического оборудования, можно создать пользовательскую метку gpu
и назначить ее средствам выполнения, на которых установлено оборудование. Все средства выполнения с меткой gpu
будут иметь право запуска задания.
Чтобы добавить метку к самостоятельному средству выполнения, перейдите к параметрам GitHub Actions в организации, репозитории или предприятии, где зарегистрировано самостоятельное средство выполнения (в разделе Действия для организации или репозитория, в Политики > Действия для предприятия). Когда вы там:
Найдите список runners в разделе Runners. Если средство выполнения находится в группе, перейдите к группе средств выполнения и выберите раскрывающееся меню средств выполнения, чтобы просмотреть список средств выполнения.
Найдите средство выполнения, которое нужно обновить, и выберите раскрывающийся список меток, чтобы просмотреть меню выбора меток. В этом меню отображаются все настраиваемые метки, доступные для самостоятельно размещенного средства выполнения. Метки, уже назначенные самостоятельному средству выполнения, имеют рядом с ним галочку.
Выберите существующую метку, чтобы добавить ее в средство выполнения или введите имя новой метки в поле "Фильтры меток " и нажмите кнопку "Создать новую метку". Метка автоматически добавляется в средство выполнения при его создании.
Прокси-серверы
Если для взаимодействия с GitHub через прокси-сервер требуется самостоятельное средство выполнения, то как Enterprise Cloud, так и Enterprise Server позволяют изменять конфигурации прокси-сервера с помощью следующих переменных среды:
Переменная среды | Description |
---|---|
https_proxy |
URL-адрес прокси-сервера для трафика HTTPS. При необходимости можно также включить учетные данные обычной проверки подлинности. Например: http://proxy.local http://192.168.1.1:8080 http://username:password@proxy.local |
http_proxy |
URL-адрес прокси-сервера для трафика HTTP. При необходимости можно также включить учетные данные обычной проверки подлинности. Например: http://proxy.local http://192.168.1.1:8080 http://username:password@proxy.local |
no_proxy |
Разделенный запятыми список узлов, которые должны использовать прокси-сервер. Разрешены no_proxy только имена узлов. Нельзя использовать IP-адреса. Пример: example.com example.com,myserver.local:443,example.org |
Примечание.
Переменные среды прокси считываются при запуске автономного приложения средства выполнения, поэтому перед настройкой или запуском приложения необходимо задать переменные среды. При изменении конфигурации прокси необходимо перезапустить локальное приложение самостоятельного средства выполнения.
В Windows имена переменных среды прокси-сервера чувствительны к регистру. В Linux и macOS рекомендуется использовать только строчные символы в переменных среды. Если у вас есть переменная среды как в нижнем регистре, так и в верхнем регистре в Linux или macOS (например, https_proxy
и HTTPS_PROXY
) локальное приложение runner использует переменную среды нижнего регистра.
Списки разрешенных IP-адресов
Если ваша организация Enterprise Cloud или Enterprise Server настроила список разрешенных IP-адресов, необходимо добавить IP-адрес или диапазон IP-адресов для самостоятельных средств выполнения в список разрешенных IP-адресов, чтобы ваши самостоятельные средства могли взаимодействовать с GitHub.
Чтобы добавить IP-адрес или диапазон IP-адресов самостоятельных средств выполнения в список разрешенных IP-адресов организации, перейдите к Параметрам своей организации, а затем на боковой панели выберите Безопасность организации. В разделе IP-адресдобавьте IP-адрес или диапазон IP-адресов самостоятельных средств выполнения в нотации CIDR и нажмите кнопку + Добавить.
Мониторинг и устранение неполадок в самостоятельных средствах выполнения
Средства предложения Enterprise Cloud и Enterprise Server позволяют отслеживать, устранять неполадки и обновлять локальные средства выполнения. Если при выполнении сборок происходит сбой, некоторые файлы в репозитории заблокированы или рабочие процессы задерживаются, устранение неполадок средства выполнения, выполняющего рабочий процесс, может помочь решить проблему.
Ниже приведены основные шаги, которые можно выполнить при устранении неполадок с локальным средством выполнения.
- Проверьте состояние самостоятельного средства выполнения в параметрах GitHub Actions в организации, репозитории или предприятии, где зарегистрировано самостоятельное средство выполнения (в разделе Действия для организации или репозитория, в Политики > Действия для предприятия).
- Проверьте действия и автоматические обновления средства запуска в файлах
Runner_
из папки_diag
. - Проверьте состояние заданий, выполняемых средством выполнения в файлах
Worker_
из папки_diag
.
В соответствии с операционной системой средства выполнения можно выполнить дополнительные шаги, как показано в таблице:
Mac | Windows | Linux |
---|---|---|
Проверьте службу приложения самостоятельного средства выполнения с помощью launchd . |
Проверьте службу приложения самостоятельного средства выполнения с помощью PowerShell. | — Проверьте службу приложения самостоятельного средства выполнения с помощью journalctl . — Если заданиям требуются контейнеры, убедитесь, что Docker установлен и работает, а также разрешения Docker используют systemctl . |