Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Внедрение GitHub Actions на предприятии

Вы можете спланировать развертывание GitHub Actions в предприятии.

Сведения о GitHub Actions для предприятий

GitHub Actions — это платформа непрерывной интеграции и непрерывной поставки (CI/CD), которая позволяет автоматизировать конвейер сборки, тестирования и развертывания. С помощью GitHub Actions ваша компания может автоматизировать, персонализировать и выполнять рабочие процессы разработки программного обеспечения, такие как тестирование и развертывание. Дополнительные сведения см. в статье Сведения о GitHub Actions.

Схема заданий, выполняемых в локальных средствах выполнения тестов

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

Система управления и соответствие требованиям

Необходимо разработать план по контролю за использованием GitHub Actions на предприятии и соответствия нормативным требованиям.

Определите действия , которые будет разрешено использовать разработчикам. Во-первых, решите, будет ли разрешен доступ к действиям извне вашего экземпляра. Если пользователям предприятия требуется доступ к другим действиям из GitHub.com или GitHub Marketplace, можно использовать несколько параметров конфигурации. Дополнительные сведения см. в разделе Сведения об использовании действий в организации.

Затем решите, будут ли разрешены сторонние действия , которые не были созданы GitHub. Можно настроить действия , которые разрешено запускать на уровне репозитория, организации и предприятия, а также разрешать только действия, созданные GitHub. Если вы разрешите сторонние действия, можно ограничить разрешенные действия до тех, которые создали проверенные авторы, или до списка конкретных действий. Дополнительные сведения см. в разделе Управление параметрами GitHub Actions для репозитория, Отключение или ограничение GitHub Actions для организации и Применение политик для GitHub Actions в организации.

Снимок экрана: политики GitHub Actions

Рассмотрите возможность объединения OpenID Connect (OIDC) с повторно используемыми рабочими процессами, чтобы обеспечить согласованное развертывание в репозитории, организации или на предприятии. Это можно сделать, определив условия доверия для облачных ролей на основе повторно используемых рабочих процессов. Дополнительные сведения см. в разделе Использование OpenID Connect с повторно используемыми рабочими процессами.

Вы можете получить доступ к сведениям о действиях, связанных с GitHub Actions в журналах аудита для вашего предприятия. Если компании требуется хранить эту информацию дольше, чем хранятся данные журнала аудита, спланируйте экспорт и хранение этих данных за пределами GitHub. Дополнительные сведения см. в разделе "Переадресация журнала."

Записи в журнале аудита

Безопасность

Необходимо спланировать методики усиления защиты для GitHub Actions.

Усиление защиты отдельных рабочих процессов и репозиториев

Создайте план обеспечения безопасности для пользователей, использующих функции GitHub Actions в вашей организации. Дополнительные сведения об этих методиках см. в разделе Защита безопасности для GitHub Actions.

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

Защита доступа к секретам и ресурсам развертывания

Необходимо спланировать место хранения секретов. Рекомендуется хранить секреты в GitHub, однако можно также хранить секреты в поставщике облачных служб.

В GitHubможно хранить секреты на уровне репозитория или организации. Секреты на уровне репозитория могут быть ограничены рабочими процессами в определенных средах, например в рабочей или тестовой среде. Дополнительные сведения см. в статье Зашифрованные секреты.

Снимок экрана: список секретов Попробуйте добавить защиту с утверждением вручную для конфиденциальных сред, чтобы запрашивать утверждение рабочих процессов перед получением доступа к секретам в средах. Дополнительные сведения см. в разделе Использование сред для развертываний.

Соображения безопасности для действий сторонних разработчиков

С использованием действий из сторонних репозиториев в GitHub связаны существенные риски. Если вы разрешаете действия сторонних разработчиков, необходимо разработать внутренние инструкции, которые помогут вашей команде следовать рекомендациям, таким как закрепление действий при полной фиксации SHA. Дополнительные сведения см. в разделе Использование действий сторонних разработчиков.

Выбор внутреннего источника

Подумайте о том, как ваше предприятие может использовать функции GitHub Actions для выбора внутреннего источника автоматизации. Выбор внутреннего источника — это способ реализации преимуществ методологий с открытым исходным кодов во внутреннем цикле разработки программного обеспечения. Дополнительные сведения см. в разделе Общие сведения о выборе внутреннего источника в разделе «Ресурсы GitHub».

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

С помощью многократно используемых рабочих процессов ваша команда может вызывать один рабочий процесс из другого рабочего процесса, избегая точного дублирования. Повторно используемые рабочие процессы способствуют соблюдению рекомендаций, помогая команде использовать рабочие процессы, которые грамотно разработаны и уже успешно протестированы. Дополнительные сведения см. в статье Многократное использование рабочих процессов.

Чтобы предоставить начальную точку разработчикам, создающим новые рабочие процессы, можно использовать рабочие процессы начального уровня. Это не только экономит время разработчиков, но и обеспечивает согласованность и внедрение рекомендованных практических методик в вашей организации. Дополнительные сведения см. в разделе Создание рабочих процессов начального уровня для вашей организации.

Всякий раз, когда разработчики рабочих процессов хотят использовать действие, хранящееся в частном репозитории, им необходимо сначала настроить рабочий процесс для клонирования репозитория. Чтобы уменьшить количество репозиториев, которые необходимо клонировать, попробуйте сгруппировать часто используемые действия в одном репозитории. Дополнительные сведения см. в разделе Сведения о настраиваемых сертификатах.

Управление ресурсами

Вы должны спланировать управление ресурсами, необходимыми для использования GitHub Actions.

Требования к оборудованию

Может потребоваться обновить ресурсы ЦП и памяти для экземпляр GitHub Enterprise Server для обработки нагрузки с GitHub Actions без снижения производительности. Дополнительные сведения см. в разделе Начало работы с GitHub Actions для GitHub Enterprise Server.

Средства выполнения

Для рабочих процессов GitHub Actions требуются средства выполнения ntcnjd. Вам потребуется разместить собственные средства выполнения тестов, установив локальное приложение средства выполнения тестов локального размещения GitHub Actions на своих компьютерах. Дополнительные сведения см. в разделе «Локальные средства выполнения тестов».

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

Также необходимо решить, куда будет добавлено каждое из средств выполнения тестов. Можно добавить средство выполнения тестов локального размещения в отдельный репозиторий или сделать средство доступным для всей организации или всего предприятия. Добавление средств выполнения тестов на уровне организации или предприятия позволяет совместно использовать такие средства. Из-за этого может уменьшиться размер инфраструктуры средства выполнения тестов. Политики можно использовать для ограничения доступа к средствам выполнения тестов локального размещения на уровнях организации и предприятия, назначив группы средств выполнения тестов определенным репозиториям или организациям. Дополнительные сведения см. в разделе Добавление средств выполнения тестов локального размещения и Управление доступом к средствам выполнения тестов локального размещения с помощью групп.

Для автоматического увеличения или уменьшения числа доступных локальных средств выполнения тестов рекомендуется использовать автоматическое масштабирование. Дополнительные сведения см. в разделе Автомасштабирование с использованием локальных средств выполнения тестов.

Наконец, можно попробовать усилить безопасность для средств выполнения тестов локального размещения. Дополнительные сведения см. в разделе Защита безопасности для GitHub Actions.

Память

Артефакты позволяют обмениваться данными между заданиями в рабочем процессе и хранить данные после завершения рабочего процесса. Дополнительные сведения см. в разделе Хранение данных рабочего процесса как артефактов.

GitHub Actions также имеет систему кэширования, которую можно использовать для кэширования зависимостей, чтобы ускорить выполнение рабочего процесса. Дополнительные сведения см. в разделе Кэширование зависимостей для ускорения рабочих процессов.

Необходимо настроить внешнее хранилище больших двоичных объектов для артефактов рабочих процессов, кэшей и других журналов рабочих процессов. Определите, какой поддерживаемый поставщик хранилища будет использовать ваше предприятие. Дополнительные сведения см. в разделе Начало работы с GitHub Actions для GitHub Enterprise Server.

Параметры политики для GitHub Actions можно использовать для настройки хранилища артефактов рабочих процессов, кэшей и хранения журналов. Дополнительные сведения см. в разделе Применение политик для GitHub Actions на предприятии».

Отслеживание использования

Можно запланировать отслеживание использования GitHub Actions вашим предприятием, например, регулярность запуска рабочих процессов, количество успешных запусков и сбоев, а также использованием тех или иных рабочих процессов конкретными репозиториями.

использовать веб-перехватчики для оформления подписки на информацию о заданиях рабочих процессов и запусках рабочих процессов. Дополнительные сведения см. в статье Сведения о веб-перехватчиках.

Спланируйте, как предприятие будет передавать данные из этих веб-перехватчиков в систему архивации данных. Можно использовать CEDAR.GitHub.Collector — средство с открытым исходным кодом, которое собирает и обрабатывает данные веб-перехватчика из GitHub. Дополнительные сведения см. в статье «Microsoft/CEDAR.GitHub.CollectorРепозиторий».

Кроме того, следует спланировать, как ваши команды будут получать необходимые данные из системы архивации.