# Правило ведения проекта gitLab

screen

#

Правила ведения проекта в GIT

  1. Для каждой новой доработки ставим задачу в git проекта и создаем ветку. Задачу может ставить тимлид или программист самостоятельно, ветку создает тот программист, кто является ответственным по доработке. При создании задачи ставим label = waiting и пишем в описании задачи название ветки ( соот-но как только ветку создаем, добавляем название ветки в описание).
  2. Если задача перешла в новый статус, то необходимо изменить label.
  3. После выполнения задачи необходимо отправить merge request, в описание которого необходимо прописать номер задачи #N_task. В самой задаче прописываем в описание номер merge request , например !N_merge.
  4. По окончанию работ ветку с разработкой удаляем.

Управление инстенсами проектов:

Изменения дополняют уже существующий флоу, без существенных изменений процесса.

  1. Разделение на инстенсы в рамках одного репозитория происходит через название/код инстенса (так происходит привязка по файловой структуре проекта)
  2. Деплой изменений инстенса происходит через модифицированную конфигурацию CI/CD проекта
  3. Для каждого стейджа инстенсов (дев, прод и т.п.) добавляются вариации деплоя (с одной ветки на разные инстенсы)
  4. Деплой на конкретный инстенс происходит через нажатие кнопки деплоя нужного инстенса на ветке, соответствующей стейджу (например, деплой изменений на дев происходит через нажатие кнопки в пайплайне на ветке дев)
  5. Чтобы перейти к выбору инстенса нужно перейти в пайплайн ветки и выбрать нужную джобу (например deploy_dev_india - деплой на дев инстенса Индии)
  6. Деплой на внешний репозиторий остаётся таким же (в отдельной ветке). Добавляется только название/код инстенса в конфигурации (чтобы собрать нужный инстенс)
  7. Чтобы отслеживать статусы задач, необходимо указать в сообщении коммита айди задачи и название инстенса (например: fix: !Issue_id (Instance_name) fixed bugs)

пс - процессовый статус (boarding) дс - дополнительные статусы

Типы label и этапы выполнения задачи:

  • waiting - (пс) - задача заведена и ждет выполнения
  • processing - (пс) - задачу взяли в работу, создана отдельная ветка по задаче
  • review/testing - (пс) - задача отправлена на просмотр владельцу проекта (без мержа с основной веткой) и на тестирование
  • completed - (пс) - задача готова и отправлен merge request на владельца проекта
  • bug - (дс) - найден баг в разработке, задаче проставляется дополнительный label
  • high - (дс) - задача является приоритетной и сроки выполенения максимально короткие
  • bug + high - (дс) - критинчая ошибка
  • low - (дс) - задача является не приоритетной, обычно такого типа задачи для улучшения
  • admin - (дс) - задачи административного характера, связанные с ведением проекта

<тип>[необязательный контекст]: <описание>

[необязательное тело]

[необязательная(ые) сноска(и)]