Skip to main content

Управление средами для развертывания

Вы можете создавать среды и защищать эти среды с помощью правил защиты развертывания. Задание, ссылающееся на среду, должно соответствовать любым правилам защиты среды перед запуском или доступом к секретам среды.

Кто может использовать эту функцию?

Repository owners

Окружения, секреты окружающей среды и правила защиты при развертывании доступны в публичных хранилищах для всех текущих GitHub планов. Они недоступны в устаревших планах, таких как Бронза, Silver или Gold. Для доступа к средам, секретам окружения и веткам развертывания в частных или внутренних репозиториях необходимо использовать GitHub Pro, GitHub Team, или GitHub Enterprise.

Необходимые компоненты

Создание среды

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

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. На левой боковой панели щелкните Среды.

  4. Выберите Новая среда.

  5. Введите имя среды и нажмите кнопку Настроить среду. В именах сред регистр не учитывается. Имя среды не может превышать 255 символов и должно быть уникальным в репозитории.

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

    1. Выберите Обязательные рецензенты.
    2. Введите до 6 пользователей или команд. Только один из обязательных рецензентов должен утвердить задание, чтобы оно могло продолжить работу.
    3. При необходимости, чтобы запретить пользователям утверждать рабочие процессы, которые они активировали, выберите "Запрет самостоятельной проверки".
    4. Нажмите Сохранить правила защиты.
  7. При необходимости укажите время ожидания до разрешения заданиям рабочего процесса, использующим эту среду, продолжить работу. Дополнительные сведения см. в разделе Развертывания и среды.

    1. Выберите Таймер ожидания.
    2. Введите количество минут ожидания.
    3. Нажмите Сохранить правила защиты.
  8. При необходимости запретить обход настроенных правил защиты. Дополнительные сведения см. в разделе Развертывания и среды.

    1. Отмена выбора разрешить администраторам обходить настроенные правила защиты.
    2. Нажмите Сохранить правила защиты.
  9. При необходимости включите все пользовательские правила защиты развертывания, созданные с помощью GitHub Apps. Дополнительные сведения см. в разделе Развертывания и среды.

    1. Выберите правило настраиваемой защиты, которое вы хотите включить.
    2. Нажмите Сохранить правила защиты.
  10. При необходимости укажите, какие ветви и теги можно развернуть в этой среде. Дополнительные сведения см. в разделе Развертывания и среды.

    1. Выберите нужный вариант в раскрывающемся списке Ветви развертывания.

    2. Если выбраны выбранные ветви и теги, чтобы добавить новое правило, нажмите кнопку "Добавить ветвь развертывания" или правило тега

    3. В раскрывающемся меню "Ref type" в зависимости от того, какое правило нужно применить, щелкните Branch или Tag.

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

      Примечание.

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

    5. Нажмите кнопку Добавить правило.

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

    1. В разделе Секреты среды нажмите Добавить секрет.
    2. Введите имя секрета.
    3. Введите значение секрета.
    4. Щелкните Добавить секрет.
  12. При необходимости добавьте переменные среды. Эти переменные доступны только для заданий рабочих процессов, использующих среду, и доступны только с помощью контекста vars . Дополнительные сведения см. в разделе Развертывания и среды.

    1. В разделе переменные среды нажмите кнопку "Добавить переменную".
    2. Введите имя переменной.
    3. Введите значение переменной.
    4. Нажмите кнопку "Добавить переменную".

Вы также можете создавать и настраивать среды с помощью REST API. Дополнительные сведения см. в разделе AUTOTITLE, AUTOTITLE, [AUTOTITLE и REST API endpoints для секретов GitHub Actions](/rest/actions/variables).

При запуске рабочего процесса, ссылающегося на среду, которая не существует, будет создана среда с указанным именем. Если среда создается из неявных сборок страниц (например, из ветви или источника папок), исходная ветвь будет добавлена в среду в качестве правила защиты. В противном случае только что созданная среда не будет иметь правил защиты или секретов. Любой пользователь, который может изменять рабочие процессы в репозитории, может создавать среды с помощью файла рабочего процесса, но настраивать среду могут только администраторы репозитория.

Удаление среды

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

При удалении среды будут удалены все секреты и правила защиты, связанные с этой средой. Все задания из удаленной среды, находившиеся в состоянии ожидания из-за правил защиты, автоматически завершатся с ошибкой.

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. На левой боковой панели щелкните Среды.

  4. Рядом с средой, которую требуется удалить, щелкните .

  5. Нажмите "Я понимаю, удалить эту среду.

Вы также можете удалить среды с помощью REST API. Дополнительные сведения см. в разделе Конечные точки REST API для репозиториев.

Связь сред с развертываниями

При выполнении задания рабочего процесса, ссылающегося на среду, создается объект развертывания со свойством environment с названием вашей среды. По мере выполнения рабочего процесса создаются объекты состояния развертывания со свойством environment — имя вашей среды, свойством environment_url — URL-адрес среды (если указано в рабочем процессе), и свойством state — состояние задания.

Вы можете получить доступ к этим объектам с помощью REST API или API GraphQL. Вы также можете подписаться на эти события веб-перехватчика. Дополнительные сведения см. в разделе [AUTOTITLE, Конечные точки REST API для репозиториев (API GraphQL) или Объект](/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment).

Следующие шаги

GitHub Actions предоставляет несколько функций для управления развертываниями. Дополнительные сведения см. в разделе Развертывание с помощью GitHub Actions.