Добавяте ли ръчно рецензенти на код към всяка отделна заявка за сливане? Прочетете, за да разберете как можете да автоматизирате този процес!

Опция 1: Вградете бързо действие на Gitlab в шаблони за заявка за сливане

Как да настроите

  1. Създайте папка .gitlab/merge_request_templates в основната директория на проекта, ако не съществува
  2. В .gitlab/merge_request_templates създайте нов Markdown(.md) файл
  3. Вградете бързото действие /assign_reviewer и потребителските имена на Gitlab на проверяващите кода:
    /assign_reviewer @reviewer1 @reviewer2 @reviewer3 (and so on…)
  4. Извършете промените, насочете към източника и слейте!

Как да използвам

  1. Отворете нова заявка за сливане или щракнете върху „Редактиране“ върху съществуваща
  2. Изберете новосъздадения шаблон в секцията Описание
  3. Актуализирайте описанието, номера на билета за издаване и т.н.
  4. Запазване

Това е!

Вариант 2: Използвайте Gitlab API и CI/CD

Как да настроите

1. Създайте нова Gitlab група или подгрупа на съществуваща група и добавете рецензенти на код към групата. Можете да пропуснете тази стъпка, ако вече имате група или искате да кодирате твърдо идентификационните номера на рецензентите в заданието за CI/CD тръбопровод

2. Създайте файл .gitlab-ci.yml в главната директория на проекта, ако не съществува

3. Конфигурирайте ново задание за изпълнение в конвейери на заявки за сливане с rules. Добавете „задаване на заявка за сливане“ stage, ако е приложимо

По избор: Използвайте rules:changes, за да имате по-подробен контрол върху това кои промени задействат заданието. Ако имате android и ios директория във вашето хранилище, например, можете да създадете две отделни задачи, които назначават съответно рецензенти на Android и iOS код, в зависимост от това какви промени са включени в заявката за сливане

4. В before_script, инструктирайте заданието да инсталира jq, JSON процесор, на програмата, преди да се стартира. В зависимост от средата на вашия runner, може да се наложи да използвате различен мениджър на пакети от използвания по-долу

5. Напишете скрипт, който присвоява проверяващи кода на вашата заявка за сливане чрез Gitlab API

Стъпка 1) Изтеглете списъка с проверяващите кода чрез API на Gitlab. Ако искате да кодирате твърдо списъка с рецензенти, пропуснете тази стъпка

Съвет #1:Уверете се, че вашият токен има API достъп за четене до вашата група. CI_JOB_TOKEN, токенът по подразбиране, генериран за всяко задание, няма API достъп за четене

Съвет #2:Ако сте създали подгрупа на съществуваща група, уверете се, че сте изолирали стриктно „директните членове от наследените членове“ и използвайте подходящия API

Стъпка 2) Извлечете идентификационните номера на Gitlab на проверяващите,не потребителските имена, от JSON отговора и ги поставете в масив. Ако искате да твърдо кодирате списъка с рецензенти, вместо това твърдо кодирайте масив от Gitlab ID на рецензентите на код

Стъпка 3) Използвайте Gitlab API, за да добавите рецензенти към вашата заявка за сливане

6. Извършете промените, натиснете към източника и обединете!

Как да използвам

Просто създайте нова заявка за сливане!

Примерен .gitlab-ci.yml

И ето го! Две опции за автоматично присвояване на рецензенти на код към вашите заявки за сливане.

Ако сте правили нещо подобно или знаете за алтернативи, уведомете ме в секцията за коментари!

Благодаря за четенето.

Ако намирате това съдържание за ценно,

  1. 👏
  2. Споделете го с вашите колеги
  3. „Ела да ме заредиш с кафе“!