Skip to main content

Развертывания и среды

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

Правила защиты развертывания

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

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

Примечание.

Любое количество GitHub Apps, которые могут быть установлены в репозитории. Однако в любой среде одновременно можно включить не более 6 правил защиты развертывания.

Обязательные рецензенты

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

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

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

Таймер ожидания

Таймер ожидания можно использовать для задержки задания на определенный промежуток времени после первоначальной активации задания. Время (в минутах) должно быть целым числом от 1 до 43 200 (30 дней). Время ожидания не будет подсчитываться в сторону оплачиваемого времени.

Ветви развертывания и теги

Используйте ветви развертывания и теги, чтобы ограничить развертывание ветвей и тегов в среде. Ниже приведены варианты развертывания ветвей и тегов для среды:

  • Нет ограничений: нет ограничений на развертывание ветви или тега в среде.

  • Защищенные ветви: только ветви с включенными правилами защиты ветви могут развертываться в среде. Если правила защиты ветви не определены ни для одной ветви в репозитории, то могут развертываться все ветви. Дополнительные сведения о правилах защиты ветви см. в разделе Сведения о защищенных ветвях.

    Примечание.

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

  • Выбранные ветви и теги: только ветви и теги, соответствующие заданным шаблонам имен, могут развертываться в среде.

    Если в качестве правила ветви развертывания или тега указывается releases/* только ветвь или тег, имя которого начинается с releases/ развертывания в среде. (Подстановочные знаки не будут сопоставляться с /. Чтобы сопоставить ветви или теги, начинающиеся с release/ и содержащие дополнительную косую черту, используйте release/*/*.) Если вы добавляете main в качестве правила ветвления, ветвь с именем main также может развернуться в среде. Дополнительные сведения о параметрах синтаксиса для ветвей развертывания см. в документации по RubyFile.fnmatch.

    Примечание.

    Шаблоны имен должны быть настроены для ветвей или тегов по отдельности.

Разрешить администраторам обходить настроенные правила защиты

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

Кроме того, можно настроить среды для запрета обхода правил защиты для всех развертываний в среде.

Правила защиты пользовательского развертывания

Примечание.

Пользовательские правила защиты развертывания в настоящее время находятся в public preview и подвергаются изменению.

Вы можете включить собственные правила защиты для шлюза развертываний с помощью сторонних служб. Например, можно использовать такие службы, как Datadog, Honeycomb и ServiceNow, чтобы предоставить автоматические утверждения для развертываний в GitHub. Дополнительные сведения см. в разделе Создание пользовательских правил защиты развертывания.

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

Секреты среды

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

Примечание.

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

Переменные среды

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