Характеристики, которые все ждали в действиях GitHub, наконец, здесь: Среда и ручные одобрения Отказ
Это будет весело.
вступление
Сегодня мы говорим о средах и ручных разрешениях в Действиях GitHub. Эти долгожданные функции были объявлены в Github Universe 2020 пару недель назад и, наконец, выпущен всего несколько дней назад 15 декабря будет точным.
В этом видео мы увидим, как их включить и как их использовать для управления потоком развертывания. Наконец мы можем сказать, что действия имеют правильные возможности непрерывного развертывания.
Если вы хотите иметь обзор всего, что вы можете сделать с действиями GitHub, я настоятельно рекомендую вам посмотреть видео, которое я сделал на тему после того, как вы закончите с этим постом, вы можете найти его здесь
видео
Как обычно, если вы Визуальный учащийся или просто предпочитаю смотреть и слушать вместо того, чтобы читать, здесь у вас есть видео со всем объяснением и демонстрацией, которое, чтобы быть честным, много более полный чем этот пост.
( Ссылка на видео: https://youtu.be/w_37ldoy4si )
Если вы скорее предпочитаете читать, ну … Давайте просто продолжим:)
Почему среда?
Итак, во-первых, почему мы говорим о средах и вручную одобрение вместе.
Ну, ручные одобрения на самом деле построен сверху окружающей среды Отказ
И они являются только одна из функций Среда предлагает предотвратить несанкционированные развертывания, сохранить секреты, отслеживать изменения и многое другое.
По этим причинам мы поговорим обо всех, что мы можем сделать с окружающей средой. Но сначала давайте посмотрим, как включить эту функцию.
Включение средств и доступности
Сделать это, просто перейдите к Настройки репозитория , а потом у вас есть этот новый Среды раздел.
Нажмите на него, и здесь вы можете создать новую среду.
Дайте ему имя, нажмите Настроить Окружающая среда, а здесь у вас есть.
Проверьте Этот раздел видео Для демонстрации о включении окружающей среды в вашем репо.
Чтобы настроить среду в Пользовательский репозиторий Вы должны быть владелец репозитория Отказ Чтобы настроить среду в репо, который принадлежит Организация вместо этого вы должны иметь Админ-доступ Отказ
Также обратите внимание, что вы сможете создавать и использовать среды только на публичных реподе или если вы являетесь частью Github Enterprise Cloud Организация. Среда и все их особенности, включая ручные одобрения, в настоящее время не поддерживаются в «нормальных» частных репос и в планах Pro и Teams. Если вы перейдете к настройкам этих REPOS и планов, на самом деле, вкладка меню среды просто не появится.
Настройки окружающей среды
Правильно, давайте пойдем и посмотрим, что у нас в конфигурации окружающей среды.
Первый раздел — Правила защиты окружающей среды
Правила защиты окружающей среды могут использоваться для настройки ручных разрешений и тайм-аутов, и, возможно, больше настроек придет в будущем.
Ручные одобрения, как говорит название, позвольте вам указать До 6 человек или команд Это будет уведомлено для развертывания и нужно будет одобрить его для продолжения.
Быть в TE «Утверждения», список вас нужен только прочитанный доступ к репозитории, и это позволяет у вас есть люди, которые могут одобрить развертывание, которые не обязательно имеют возможность изменять код.
В настоящее время нет способа указать минимальное количество рецензентов, что означает, что если только один человек одобряет его, что развертывание будет продолжаться.
Вместо того, чтобы вторая настройка, это Таймер ожидания . Это полезно, если вы хотите, чтобы ваш Развертывание будет отложено определенного количества минут после того, как рабочие места вызваны. И это работает с и без одобрения.
У нас тогда есть Секреты раздела Отказ
Секреты — это зашифрован Переменные среды. Они доступны только на действия GitHub в контексте Эта среда Отказ
GitHub уже имеет управление секретами на уровне репо, но никто с доступом к записи может изменить эти секреты. Они не могут их видеть ( потому что, как вы, вероятно, знаете после сохранения их, они могут быть получены только действиями в рабочих процессах ), но они могут изменить их и использовать их в любом рабочем процессе.
По этой причине у нас сейчас есть секреты уровня среды. Работа, которая делает развертывание, не получается доступа к этим секретам до после утверждения, если таковые имеются, и это защищает эти секреты от несанкционированного доступа.
Если вы хотите узнать больше о секретах, а также как Секреты с тем же именем Между средами и работой репо Уровень, Проверьте этот раздел видео Отказ
Используйте условия в рабочем процессе действий
Давайте посмотрим, как мы можем использовать все это в рабочем процессе действий. Это довольно легко.
DeployDev: name: Deploy to Dev runs-on: ubuntu-latest environment: name: YOUR_ENVIRONMENT_NAME url: URL_OF_THE_DEPLOYMENT steps: - name: Deploy run: echo I am deploying!
Это все, что вам нужно сделать! Просто добавьте окружающая среда
Раздел на вашу работу и ссылку на окружающую среду По имени Отказ
URL
Параметр не является обязательным и может быть либо строковый литерал или значение, исходящее из Выходной параметр . шага на работе (Это полезно, например, если ваше развернутое приложение меняет URL каждый раз, и вы знаете, только после его развертывания).
Все, что было настроено на этой среде, в том числе Одобрения , таймеры и Секреты будет автоматически применяться к этой работе.
Если требуется одобрение, все пользователи/команды в списке «Утверждение» получат Уведомление На экране по электронной почте и на уведомлениях GitHub. Вскоре те, кто также будет интегрирован в мобильное приложение и Slash.
Пример
Проверьте Этот раздел видео для Демо Об этом примере
Допустим, вы хотите:
- Развертывание для разработки только тогда, когда вы находитесь в запросе на тягу
- Развертывание, чтобы постановить только тогда, когда вы совершаете или сливаются в основной
- Развертывание до получения только после постановки, с одобрением
Чтобы сделать это, вам сначала понадобится Создать три среды Добавьте утверждения в производственную, затем настройте ваш рабочий процесс действий:
name: CI + CD on: push: branches: [ main ] pull_request: branches: [ main ] workflow_dispatch: jobs: Build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Compile run: echo Hello, world! DeployDev: name: Deploy to Dev if: github.event_name == 'pull_request' needs: [Build] runs-on: ubuntu-latest environment: name: Development url: 'http://dev.myapp.com' steps: - name: Deploy run: echo I am deploying! DeployStaging: name: Deploy to Staging if: github.event.ref == 'refs/heads/main' needs: [Build] runs-on: ubuntu-latest environment: name: Staging url: 'http://test.myapp.com' steps: - name: Deploy run: echo I am deploying! DeployProd: name: Deploy to Production needs: [DeployStaging] runs-on: ubuntu-latest environment: name: Production url: 'http://www.myapp.com' steps: - name: Deploy run: echo I am deploying!
Как видите, все вращается вокруг окружающая среда
определение.
Проверьте Этот раздел видео Для более углубленная демо и объяснение Об этом примере.
В тех случаях, как это, что новый Визуальный график действий GitHub сияет
Визуализация
Эта новая функция дает вам гораздо лучший способ визуализации Как продвигается ваш рабочий процесс Отказ
В предыдущем примере, когда вы исходите из запроса на тягу, рабочий процесс берет Развертывать до dev ветвь:
Как видите, это очень ясно из новой визуализации, а также ясно, что Постановка + производственная ветвь была пропущена .
Если вместо этого мы совершаем в основной, другой ветвь рабочего процесса активирована:
Как видите, он развертывает постановку, а затем Он ждет одобрения на производство.
И когда укрепление нажимает на Обзор развертывания Кнопка, у них есть возможность либо Отклонить или Утвердить Развертывание и оставить комментарий.
Super легко настроить и управлять.
И как вы можете видеть, это также показывает URL развертывания На коробке окружающей среды для легкого доступа к вашему приложению. Это происходит от URL
параметр ранее определен в окружающая среда
раздел для этого развертывания.
Смотреть визуализацию Демо и объяснение здесь
Отслеживание и аудит
Все, что происходит в окружающей среде, проверяется . На самом деле, среда отслеживает историю ваших развертываний. Итак, у вас есть возможность увидеть именно то, что было развернуто в конкретной среде (и вскоре в ближайшее время входят также рабочие предметы, проблемы и т. Д.), Кто сделал это и когда.
На самом деле, вы, если вы на Код Страница на вашем репо, главной странице и прокрутите вниз, вы найдете СЛЕДУЮЩИЕ СРЕДЫ В правой колонке:
Если вы нажмете на одну среду, вы увидите Журнал деятельности Для этой конкретной среды, хотя если вы нажмете название секции, у вас будет Комплексное состояние Из всех сред.
Здесь вы можете увидеть две основные вещи.
На верхней части у вас есть Статус каждой среды который включает в себя последнее развертывание вместе с филиалом и развернутым. Просмотр развертывания Кнопка приведет вас к URL
это было ранее определено в окружающая среда
раздел для этого развертывания. Это Супер полезный Потому что вы можете сразу увидеть то, что вы развернули в тот момент в каждой среде.
Вместо этого у вас есть Журнал деятельности Для всех сред, в том числе одобренных и отклоненных развертываний, и, конечно, также можно отфильтровать окружающую среду.
Еще раз, я бы порекомендовал вас на Посмотрите на демонстрацию этого здесь для более полного объяснения.
Заключение
Хорошо, вот это за сегодня.
Дайте мне знать в разделе «Комментарий» ниже того, что вы думаете об этих новых функциях, если вы хотите иметь что-то другое, и если вы планируете использовать их в своих проектах.
Я был бы признателен, если вы посмотрите на видео об этом (вы можете найти его на Youtube по этой ссылке: https://youtu.be/w_37ldoy4si ), оставьте как и, возможно, подписаться на мой канал Отказ Речь идет о погонах, особенно с GitHub и Azure Devops.
Вроде, поделиться и следуй за мной 🚀 Для получения дополнительной информации:
📽 YouTube ☕. Купи мне кофе 💖 Парреон 🌐 Веб-сайт CODERDAVE.IO 👕 Merch 👦🏻 Страница в Facebook 🐱💻 Github 👲🏻 Twitter 👴🏻 LinkedIn 🔉 Подкас
Оригинал: «https://dev.to/n3wt0n/everything-you-need-to-know-about-github-actions-environments-9p7»