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. Если вы разрешите сторонние действия, можно ограничить разрешенные действия до тех, которые создали проверенные авторы, или до списка конкретных действий.

Дополнительные сведения см. в разделе[ "AUTOTITLE", "Управление параметрами GitHub Actions для репозитория" и "Применение политик для GitHub Actions в вашем предприятии](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#managing-github-actions-permissions-for-your-organization)".

Вы можете получить доступ к сведениям о действиях, связанных с GitHub Actions в журналах аудита для вашего предприятия. Если компании требуется хранить эту информацию дольше, чем хранятся данные журнала аудита, спланируйте экспорт и хранение этих данных за пределами GitHub. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Пересылка журналов](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise)".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Требования к аппаратному обеспечению

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

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

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

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

Также необходимо решить, куда будет добавлено каждое из средств выполнения тестов. Можно добавить средство выполнения тестов локального размещения в отдельный репозиторий или сделать средство доступным для всей организации или всего предприятия. Добавление средств выполнения тестов на уровне организации или предприятия позволяет совместно использовать такие средства. Из-за этого может уменьшиться размер инфраструктуры средства выполнения тестов. Политики можно использовать для ограничения доступа к средствам выполнения тестов локального размещения на уровнях организации и предприятия, назначив группы средств выполнения тестов определенным репозиториям или организациям. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Добавление локальных средств выполнения](/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups)". Вы также можете использовать политики, чтобы запретить пользователям использовать локальные модули выполнения на уровне репозитория. Дополнительные сведения см. в разделе "Применение политик для GitHub Actions в вашем предприятии".

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

Хранилище

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

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

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

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

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

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

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

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

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