Примечание. В 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 Server в различных конфигурациях ЦП и памяти.
Число виртуальных ЦП | Память | Максимальное количество подключенных средств выполнения тестов |
---|---|---|
8 | 64 ГБ | Средств выполнения тестов: 740 |
32 | 160 ГБ | Средств выполнения тестов: 2700 |
96 | 384 ГБ | Средств выполнения тестов: 7000 |
128 | 512 ГБ | Средств выполнения тестов: 7000 |
GitHub измерил максимальное количество подключенных средств выполнения тестов с использованием нескольких репозиториев с продолжительностью задания около 10 минут и передачей артефактов размером 10 МБ. Производительность может отличаться в зависимости от общих уровней активности в экземпляре.
Примечания.
-
Начиная с GitHub Enterprise Server 3.6, GitHub документирует подключенные средства выполнения тестов, а не параллельные задания. Подключенные средства выполнения тестов представляют собой большинство средств выполнения тестов, которые можно подключить и ожидать для использования. Следует также отметить, что подключение большего числа средств выполнения тестов, чем можно ожидать для использования, может негативно повлиять на производительность.
-
Начиная с 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
тоже используется). После включения действий вы больше не сможете где-либо использовать эти имена.