Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Сведения о GitHub Actions на GitHub Enterprise Server
В этой статье объясняется, как администраторы сайта могут настроить GitHub Enterprise Server для использования GitHub Actions.
GitHub Actions по умолчанию не включен для GitHub Enterprise Server. Вам нужно будет определить, имеет ли экземпляр достаточно ресурсов ЦП и памяти для обработки нагрузки из GitHub Actions без потери производительности и, возможно, увеличить эти ресурсы. Вам также необходимо решить, какой поставщик хранилища вы будете использовать для хранилища больших двоичных объектов, необходимого для хранения артефактов и кэшей, созданных в ходе выполнения рабочего процесса. Затем вы можете включить GitHub Actions для вашего предприятия, управлять правами доступа и добавлять локальные средства выполнения для выполнения рабочих процессов.
Прежде чем приступать к работе, необходимо составить план внедрения GitHub Actions в организации. Дополнительные сведения см. в разделе Внедрение GitHub Actions на предприятии.
При переносе предприятия на GitHub Actions от другого поставщика необходимо учитывать дополнительные аспекты. Дополнительные сведения см. в разделе Миграция предприятия на GitHub Actions.
Проверка требований к оборудованию
Ресурсы ЦП и памяти, доступные экземпляр GitHub Enterprise Server, определяют количество заданий, которые могут выполняться одновременно без потери производительности. Для выполнения GitHub Actions GitHub рекомендует использовать не менее 8 виртуальных ЦП и 64 ГБ памяти.
Максимальное количество параллельных заданий, выполняемых без потери производительности, зависит от таких факторов, как длительность задания, использование артефактов, количество репозиториев, выполняющих Actions, и объема выполняемых экземпляром других работ, не связанных с Actions. Внутреннее тестирование в GitHub показало следующие целевые показатели производительности для сервера GitHub Enterprise в ряде конфигураций ЦП и памяти:
Число виртуальных ЦП | Память | Максимальный параллелизм |
---|---|---|
8 | 64 ГБ | 740 заданий |
16 | 128 ГБ | 1250 заданий |
32 | 160 ГБ | 2700 заданий |
64 | 256 ГБ | 4500 заданий |
96 | 384 ГБ | 7000 заданий |
GitHub измерил максимальный параллелизм с использованием нескольких репозиториев с продолжительностью задания около 10 минут и передачей артефактов размером 10 МБ. Производительность может отличаться в зависимости от общих уровней активности в экземпляре.
Примечание. Начиная с GitHub Enterprise Server 3.5, для внутреннего тестирования GitHub используются ЦП 3-го поколения, чтобы лучше отразить типичную конфигурацию пользователя. Это изменение ЦП представляет собой небольшую часть изменений целевых показателей производительности в этой версии GitHub Enterprise Server.
Если вы планируете включить GitHub Actions для пользователей существующего экземпляра, проверьте уровни активности пользователей и автоматизаций в экземпляре и убедитесь, что вы подготовили достаточный ресурс ЦП и памяти для пользователей. Дополнительные сведения о мониторинге емкости и производительности GitHub Enterprise Server см. в разделе Мониторинг устройства.
Дополнительные сведения о минимальных требованиях к оборудованию для экземпляр GitHub Enterprise Server см. в разделе Рекомендации по оборудованию для платформы экземпляра.
Дополнительные сведения о настройке ресурсов для существующего экземпляра см. в разделах Увеличение емкости хранилища и Увеличение ресурсов ЦП или памяти.
При необходимости можно ограничить потребление ресурсов экземпляр GitHub Enterprise Server, настроив ограничение скорости для GitHub Actions. Дополнительные сведения см. в разделе Настройка ограничений скорости.
Требования к внешнему хранилищу
Чтобы включить GitHub Actions в GitHub Enterprise Server, необходимо иметь доступ к внешнему хранилищу BLOB-объектов.
GitHub Actions использует внешнее хранилище BLOB-объектов для хранения данных, созданных при выполнении рабочих процессов, таких как журналы рабочих процессов, кэши и переданные пользователем артефакты сборки. Требуемый объем хранилища зависит от использования GitHub Actions. Поддерживается только одна конфигурация внешнего хранилища, и вы не можете одновременно использовать несколько поставщиков хранилища.
Все остальные данные GitHub Actions, например файлы рабочих процессов в структуре файлов репозитория, хранятся в томе хранилища данных для экземпляр GitHub Enterprise Server.
GitHub Actions поддерживает следующие поставщики хранилищ.
- Хранилище BLOB-объектов Azure
- Amazon S3
- Кластер MinIO, совместимый с S3
Примечание. Это единственные поставщики хранилища, которые поддерживаются GitHub, и по которым оказывается помощь.
Существуют другие продукты хранения, совместимые с API S3, которые партнеры GitHub самостоятельно проверили как работающие с GitHub Actions на GitHub Enterprise Server. Дополнительные сведения см. в репозитории партнеров по хранилищу GHES .
Для продуктов хранения, проверенных в рамках программы технологического партнерства GitHub, поставщик хранилища отвечает за поддержку и документацию по использованию продукта хранилища с GitHub Actions.
Рекомендации по работе с сетями
Если для организации включено GitHub Actions, поддерживаются только прокси-серверы HTTP. Прокси-серверы SOCKS5 и HTTPS не поддерживаются. Дополнительные сведения об использовании прокси-сервера с GitHub Enterprise Server см. в разделе Настройка сервера веб-прокси исходящего трафика.
Включение GitHub Actions с вашим поставщиком хранилища
Выполните одну из приведенных ниже процедур, чтобы включить GitHub Actions с выбранным вами поставщиком хранилища.
- Включение GitHub Actions с хранилищем BLOB-объектов Azure
- Включение GitHub Actions с хранилищем Amazon S3
- Включение GitHub Actions с помощью хранилища MinIO
Управление правами доступа для GitHub Actions в вашей организации
Для управления доступом к GitHub Actions вы можете использовать политики. Дополнительные сведения см. в разделе Применение политик для GitHub Actions в вашем предприятии.
Добавление локальных средств выполнения
Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Для запуска рабочих процессов GitHub Actions необходимо добавить локальные средства выполнения. Вы можете добавлять локальные средства выполнения на уровне предприятия, организации или репозитория. Дополнительные сведения см. в разделе Добавление локальных средств выполнения.
Управление действиями, которые можно использовать в предприятии
Вы можете управлять действиями, которые пользователи могут использовать в вашем предприятии. Сюда входит настройка GitHub Connect для автоматического доступа к действиям из GitHub.com или синхронизация действий вручную из GitHub.com.
Дополнительные сведения см. в разделе Сведения об использовании действий в организации.
Общее усиление безопасности для GitHub Actions
Дополнительные сведения о методах обеспечения безопасности для GitHub Actions см. в разделе Защита системы безопасности для GitHub Actions.
Зарезервированные имена
При включении GitHub Actions для предприятия создаются две организации, github
и actions
. Если ваше предприятие уже использует имя организации github
, то вместо него будет использоваться github-org
(или github-github-org
, если github-org
тоже используется). Если ваше предприятие уже использует имя организации actions
, то вместо него будет использоваться github-actions
(или github-actions-org
, если github-actions
тоже используется). После включения действий вы больше не сможете где-либо использовать эти имена.