О GitHub Actions предпринимательстве
GitHub Actions — это платформа непрерывной интеграции и непрерывной поставки (CI/CD), которая позволяет автоматизировать конвейер сборки, тестирования и развертывания. С GitHub Actions, ваше предприятие может автоматизировать, настраивать и выполнять рабочие процессы разработки программного обеспечения, такие как тестирование и развертывание. Дополнительные сведения см. в разделе [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises).
Прежде чем представить GitHub Actions крупное предприятие, сначала нужно спланировать внедрение и принять решения о том, как ваше предприятие будет использовать GitHub Actions его для оптимального соответствия вашим уникальным потребностям.
Система управления и соответствие требованиям
Вам следует разработать план, который будет регулировать использование и GitHub Actions выполнение ваших обязательств по соблюдению требований.
Определите, какие действия и повторно используемые рабочие процессы ваши разработчики смогут использовать. сначала решите, разрешаете ли вы сторонние действия и повторно используемые рабочие процессы, которые не были созданы GitHub. Вы можете настроить действия и повторно используемые рабочие процессы, которые могут выполняться на уровне репозитория, организации и предприятия, и выбрать разрешение только на действиях, созданных GitHub. Если вы разрешаете сторонние действия и повторно используемые рабочие процессы, можно ограничить разрешённые действия теми, что созданы проверенными авторами, или списком конкретных действий и повторно используемых рабочих процессов.
Дополнительные сведения см. в разделе AUTOTITLE, [AUTOTITLE[ и Управление настройками GitHub Actions для репозитория](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#managing-github-actions-permissions-for-your-organization).](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-to-restrict-the-use-of-github-actions-in-your-enterprise)
Рассмотрите возможность объединения OpenID Connect (OIDC) с повторно используемыми рабочими процессами для обеспечения согласованного развертывания в репозитории, организации или организации. Это можно сделать, определив условия доверия для облачных ролей на основе многократно используемых рабочих процессов. Дополнительные сведения см. в разделе Использование OpenID Connect с многократно используемыми рабочими процессами.
Вы можете получить информацию о деятельности, связанной с этим GitHub Actions , в журналах аудита вашего предприятия. Если вашему бизнесу нужно хранить эту информацию дольше, чем данные журнала аудита, планируйте, как вы будете экспортировать и хранить эти данные вне GitHub. Для получения дополнительной информации смотрите Экспорт действий журнала аудита для предприятия и Потоковая передача журнала аудита для предприятия.
Вы можете практиковать принцип наименьшей привилегии, администрируя кастомные организационные роли для доступа к настройкам в вашем GitHub Actions CI/CD конвейере. Для получения дополнительной информации о ролях в индивидуальных организациях см. [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles).
Безопасность
Вам стоит спланировать свой подход к усилению безопасности для GitHub Actions.
Усиление защиты отдельных рабочих процессов и репозиториев
Разработайте план по обеспечению соблюдения эффективных мер безопасности для людей, использующих GitHub Actions функции вашего предприятия. Дополнительные сведения об этих методиках см. в разделе Справочник по безопасному использованию.
Вы также можете поощрять повторное использование рабочих процессов, которые уже оценивались с точки зрения безопасности. Дополнительные сведения см. в разделе Innersourcing.
Защита доступа к секретам и ресурсам развертывания
Необходимо спланировать место хранения секретов. Мы рекомендуем хранить секреты в GitHub, но вы можете выбрать хранение секретов в облачном провайдере.
В GitHub, вы можете хранить секреты на уровне репозитория или организации. Секреты на уровне репозитория могут быть ограничены рабочими процессами в определенных средах, например в рабочей или тестовой среде. Дополнительные сведения см. в разделе Использование секретов в GitHub Actions.
Необходимо добавить защиту утверждения вручную для конфиденциальных сред, чтобы рабочие процессы должны быть утверждены перед получением доступа к секретам сред. Дополнительные сведения см. в разделе Управление средами для развертывания.
Соображения безопасности для действий сторонних разработчиков
Существует значительный риск при получении действий из сторонних репозиториев.GitHub Если вы разрешаете действия сторонних разработчиков, необходимо разработать внутренние инструкции, которые помогут вашей команде следовать рекомендациям, таким как закрепление действий при полной фиксации SHA. Дополнительные сведения см. в разделе Справочник по безопасному использованию.
Частные сети с бегунами, размещёнными на GitHub
Вы можете использовать GitHubразмещенных в виртуальной сети Azure. Это позволяет использовать GitHubуправляемой инфраструктурой для CI/CD, обеспечивая полный контроль над сетевыми политиками запуска. Дополнительные сведения о виртуальной сети Azure см. в статье ["Что такое Azure виртуальная сеть?"](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview) в документации По Azure. Для получения дополнительной информации см. [AUTOTITLE](/admin/configuration/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise).
Выбор внутреннего источника
Подумайте, как ваше предприятие может использовать функции GitHub Actions автоматизации внутреннего источника. Внутренний источник — это способ интегрировать преимущества методологий open source в ваш внутренний цикл разработки программного обеспечения. Для получения дополнительной информации см. раздел «Введение в внутренний источник » в GitHub разделе Ресурсы.
Чтобы совместно использовать действия в организации, не публикуя их в открытом доступе, можно сохранить действия во внутреннем репозитории, а затем разрешить этому репозиторию доступ к рабочим процессам GitHub Actions в других репозиториях, принадлежащих тому же или любому другому отделу в организации. Дополнительные сведения см. в разделе Совместное использование действий и рабочих процессов с вашим предприятием.
При повторном использовании рабочих процессов команда может вызывать один рабочий процесс из другого рабочего процесса, избегая точного дублирования. Повторно используемые рабочие процессы способствуют соблюдению рекомендаций, помогая команде использовать рабочие процессы, которые грамотно разработаны и уже успешно протестированы. Дополнительные сведения см. в разделе Повторное использование рабочих процессов.
Чтобы предоставить начальное место для разработчиков создания новых рабочих процессов, можно использовать шаблоны рабочих процессов. Это не только экономит время разработчиков, но и обеспечивает согласованность и внедрение рекомендованных практических методик в вашей организации. Дополнительные сведения см. в разделе Создание шаблонов рабочих процессов для организации.
Управление ресурсами
Вам стоит спланировать, как вы будете управлять ресурсами, необходимыми для использования GitHub Actions.
Средства выполнения
GitHub Actions Рабочие процессы требуют раннеров. Вы можете выбрать GitHub-hosted runners или self-hosted runners.
GitHub Управляет обслуживанием и обновлением для GitHub-хостированных бегунов. Дополнительные сведения см. в разделе [AUTOTITLE](/actions/using-github-hosted-runners/about-github-hosted-runners).
Для управления собственными ресурсами, конфигурацией или географическим расположением виртуальных машин runner используйте локальные средства выполнения. Дополнительные сведения см. в разделе Локальные средства выполнения тестов.
Если вы хотите больше контроля над сетевыми политиками для ваших бегунов, используйте самостоятельные бегунов или частные GitHubварианты для -хостинг-бегунов. Для получения дополнительной информации о вариантах частных сетей см. Частные сети с бегунами, размещёнными на GitHub.
Если вы используете самостоятельные раннеры, вам нужно решить, хотите ли вы использовать физические машины, виртуальные машины или контейнеры. Физические компьютеры будут хранить остатки предыдущих заданий, поэтому виртуальные машины будут использоваться только при использовании нового образа для каждого задания или очистки компьютеров после выполнения каждого задания. При выборе контейнеров следует знать, что автоматическое обновление средства выполнения завершает работу контейнера, что может привести к сбою рабочих процессов. Эту проблему нужно решить, запретив автоматическое обновление или пропуская команду, чтобы удалить контейнер.
Также необходимо решить, куда будет добавлено каждое из средств выполнения тестов. Можно добавить средство выполнения тестов локального размещения в отдельный репозиторий или сделать средство доступным для всей организации или всего предприятия. Добавление средств выполнения тестов на уровне организации или предприятия позволяет совместно использовать такие средства. Из-за этого может уменьшиться размер инфраструктуры средства выполнения тестов. Политики можно использовать для ограничения доступа к средствам выполнения тестов локального размещения на уровнях организации и предприятия, назначив группы средств выполнения тестов определенным репозиториям или организациям. Дополнительные сведения см. в разделе [AUTOTITLE и Добавление локальных средств выполнения](/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups). Вы также можете использовать политики, чтобы запретить пользователям использовать локальные модули выполнения на уровне репозитория. Дополнительные сведения см. в разделе Применение политик для GitHub Actions в вашем предприятии.
Рекомендуется использовать автоматическое масштабирование для автоматического увеличения или уменьшения числа доступных локальных модулей выполнения. Дополнительные сведения см. в разделе Справочник по локальным запускам.
Наконец, можно попробовать усилить безопасность для средств выполнения тестов локального размещения. Дополнительные сведения см. в разделе Справочник по безопасному использованию.
Хранилище
Артефакты позволяют обмениваться данными между заданиями в рабочем процессе и хранить данные после завершения рабочего процесса. Для получения дополнительной информации см. [AUTOTITLE](/actions/using-workflows/storing-workflow-data-as-artifacts).
GitHub Actions Также есть система кэширования, которую можно использовать для кэширования зависимостей, чтобы ускорить запуск рабочих процессов. Дополнительные сведения см. в разделе [AUTOTITLE](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).
Вы можете использовать настройки политики для GitHub Actions настройки хранения артефактов рабочего процесса, кэшей и хранения журналов. Дополнительные сведения см. в разделе Применение политик для GitHub Actions в вашем предприятии.
Некоторые хранилища включены в подписку, но дополнительное хранилище повлияет на ваш счет. Необходимо учитывать эти затраты при планировании. Дополнительные сведения см. в разделе Биллинг GitHub Actions.
Отслеживание использования
Стоит рассмотреть план отслеживания использования GitHub Actionsв вашем предприятии, например, как часто выполняются рабочие процессы, сколько из них проходят или не проходят, а также какие репозитории используют какие рабочие процессы.
Вы можете увидеть базовые данные о хранении и использовании GitHub Actions данных для каждой организации в вашем предприятии в настройках выставления счетов. Дополнительные сведения см. в разделе Просмотр использования продуктов и лицензий с использованием лимитных продуктов и лицензий.
Примечание.
Метрики на уровне предприятия находятся GitHub Actions в public preview системе и могут измениться.
Вы можете просматривать данные об использовании и производительности для вашего предприятия во вкладке «Insights». Эти метрики предоставляют те же GitHub Actions данные, что и на уровне репозитория и организации, но агрегированные для всего вашего предприятия. Если вам нужна более подробная информация, смотрите Метрики просмотра GitHub Actions для вашей организации или Метрики просмотра GitHub Actions для вашего репозитория.
Для получения более подробных данных об использовании на каждом уровне задачи или рабочих процессов вы можете использовать webhooks, чтобы подписаться на информацию о рабочих задачах и запусках рабочих процессов. Дополнительные сведения см. в разделе Сведения о веб-перехватчиках.
Составьте план, как ваше предприятие может передавать информацию из этих вебхуков в систему архивирования данных, и планируйте, как вы сможете своим командам получить необходимые данные из вашей системы архивирования.