Запуск рабочего процесса

Завершено

Никто не должен иметь возможность отправлять изменения непосредственно в главную ветвь в репозитории кода. В идеальном случае, если требуется изменить код, необходимо внести изменения в копию кода в ветви.

Распространенный подход заключается в работе с ветвями функций, где ветвь используется для работы с функцией. Например, команде по обработке и анализу данных может потребоваться повысить производительность модели путем изменения значений гиперпараметров. Команда может создать ветвь и обновить значение гиперпараметра в скрипте обучения. После экспериментирования специалист по обработке и анализу данных может создать запрос на вытягивание, чтобы объединить ветвь с основным репозиторием.

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

Чтобы использовать разработку на основе функций вместе с автоматизацией, вам потребуется:

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

Создание правила защиты ветви

Чтобы защитить код, необходимо заблокировать любые операции отправки кода в главную ветвь напрямую. Блокировка прямых отправок означает, что никто не сможет напрямую отправлять изменения кода в главную ветвь. Вместо этого можно вносить изменения в главную ветвь, объединяя запросы на вытягивание.

Чтобы защитить главную ветвь, включите правило защиты ветви в GitHub:

  1. Перейдите на вкладку Параметры в репозитории.
  2. На вкладке Параметры в разделе Код и автоматизация выберите Ветви.
  3. Выберите Добавить правило.
  4. В разделе Шаблон имени ветви введите main.
  5. Включите параметры Требовать запрос на вытягивание перед объединением и Требовать утверждения.
  6. Сохранение изменений.

Снимок экрана: настройка правила защиты ветви в GitHub.

Создать ветвь для обновления кода.

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

Запуск рабочего процесса GitHub Actions

Наконец, может потребоваться использовать создание запросов на вытягивание в качестве триггера для рабочих процессов GitHub Actions. Например, каждый раз, когда кто-то вносит изменения в код, необходимо выполнить некоторые проверки качества кода.

Фактическое объединение запроса на вытягивание должно выполняться только в том случае, если измененный код прошел проверку качества и кто-то проверил предложенные изменения.

Чтобы активировать рабочий процесс GitHub Actions, можно использовать on: [pull_request]. При использовании этого триггера рабочий процесс будет запускаться при каждом создании запроса на вытягивание.

Если требуется, чтобы рабочий процесс выполнялся каждый раз при объединении запроса на вытягивание, необходимо использовать другой триггер. Объединение запроса на вытягивание по сути является отправкой в главную ветвь. Таким образом, чтобы запустить рабочий процесс при объединении запроса на вытягивание, используйте следующий триггер в рабочем процессе GitHub Actions:

on:
  push:
    branches:
      - main