Рубрики
Uncategorized

Защита от ответственности в Github

Вы когда-либо были в положении, где вы хотите, чтобы вы могли помешать своим товарищам по команде слияния не одобренного кода … Теги с GitHub, программированием, дежоптом.

Вы когда-либо были в положении, где вы хотите, чтобы вы могли помешать своим товарищам по команде объединить не одобренный код из филиала развития до главной отрасли?

Вы хотите предотвратить слияние кода, который вы не уверены в своем статусе сборки в вашу главную ветку?

Недавно я нашел себя в этой ситуации, и я планирую поделиться концепцией, которая помогла мне выйти — «Защита от ответственности в Github».

Что такое защита от ответственности?

Защита от ответственности является акт настройки правил для предотвращения возникновения определенных действий на вашу ветку (ES) без вашего одобрения.

Эта статья ориентирована на предотвращение отраслей (разработки и т. Д.) от объединения в главную отрасль; Таким образом, прежде чем может произойти любое слияние, запрос на тяга потребует выбранного рецензента для просмотра запроса, а затем объединить коммит.

Предварительные условия

Ожидается, что у вас есть предварительное знание:

  • Гадость
  • CI/CD Tools (в этой статье Travis CI)

Проверьте эту направляю для Введение в Github и Создание простых файлов .travis.yml

Настройка правил защиты от ответственности

Мы принимаем следующие шаги:

  • Нажмите на Настройки Опция в вашем репозитории, а затем Филиалы (Расположен на левой стороне страницы)
  • Нажмите на Добавить правило Создать правило (ы) для вашей отрасли выбора
  • Далее, под Имя филиала шаблон Введите имя ветки, которую вы хотите защищать
  • Для этой статьи мы выбираем следующие правила:

    • «Требуется отзывы на потяжку запроса перед объединением»: мы ограничиваем количество необходимых отзывов до 1 (вы можете увеличить необходимые отзывы).
    • Затем мы выбираем Включают администраторы , чтобы гарантировать, что в качестве владельцев филиала наши запросы на тягу должны будут рассмотрены до того, как может произойти слияние (я имею в виду, никто не превышает ошибки 🥴)
  • Наконец, мы нажимаем кнопку «Сохранить изменения», чтобы сохранить наши настройки.

Настройка нашего сценария TRAVIS CI

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

Это инструмент непрерывной интеграции/непрерывной развертывания, который автоматически запускает тесты, вы указываете в файле .travis.yml и отправляете вам отчет, указав статус сборки вашего коммита, таким образом, сломанный код предотвращен до производства.

Простой сценарий TRAVIS может быть написан следующим образом:

language: python
python:
  - "3.6"      # current default Python on Travis CI

# command to install dependencies
install:
  - pip install -r requirements.txt

# command to run tests
script:
  - python -m unittest test

# safelist
branches:
  only:
  - main
  - dev

Из вышеуказанного скрипта, а в других скриптах TRAVIS команда используются для выполнения разных операций. Используемые здесь:

  • язык: Это используется для указания языка программирования, в котором наш код написан (в этом случае Python).

  • Python: Мы можем указать языковую версию, чтобы запустить наши тесты.

  • Установите: это используется для указания команды определения языка для установки зависимостей, на которые зависит наш код.

  • Сценарий: Это используется для указания команды определения языка для запуска наших заранее определенных тестов.

  • Отрасли: «Только» вариант показывает ветви, которые мы хотим построить с использованием безопасного обеспечения (в этом случае «главный» и «dev»)

Демонстрация

  • Теперь, чтобы проверить, работает ли все наши защитные филиалы и правила CI/CD, мы нажимаем некоторые код на нашу вторичную ветку и открываем запрос на тягу. Запрос на тягу не удастся. Вуаля, мы не можем объединить нашу заявку на главную отрасль (это смелость для меня »).

  • Нам говорят, что наш запрос на тягу необходимо просмотреть, поэтому мы добавляем рецензент, нажав на значок рядом с «рецензентами».

  • Кроме того, наши сборки прошли (yay!), Поэтому наш рецензент будет более уверенным в объединении нашего запроса на тягу.

Больше информации можно найти в Github Docs Отказ

Не стесняйтесь проверить мой Репозиторий на котором эта статья была построена

Я надеюсь, что мы защитим наших филиалов лучше от цены.

Не стесняйтесь добраться до меня через Linkedin.

Села!

Оригинал: «https://dev.to/mbaoma/branch-protection-in-github-32io»