# Правило ведения проекта gitLab
#
Правила ведения проекта в GIT
- Для каждой новой доработки ставим задачу в git проекта и создаем ветку. Задачу может ставить тимлид или программист самостоятельно, ветку создает тот программист, кто является ответственным по доработке. При создании задачи ставим label = waiting и пишем в описании задачи название ветки ( соот-но как только ветку создаем, добавляем название ветки в описание).
- Если задача перешла в новый статус, то необходимо изменить label.
- После выполнения задачи необходимо отправить merge request, в описание которого необходимо прописать номер задачи #N_task. В самой задаче прописываем в описание номер merge request , например !N_merge.
- По окончанию работ ветку с разработкой удаляем.
Управление инстенсами проектов:
Изменения дополняют уже существующий флоу, без существенных изменений процесса.
- Разделение на инстенсы в рамках одного репозитория происходит через название/код инстенса (так происходит привязка по файловой структуре проекта)
- Деплой изменений инстенса происходит через модифицированную конфигурацию CI/CD проекта
- Для каждого стейджа инстенсов (дев, прод и т.п.) добавляются вариации деплоя (с одной ветки на разные инстенсы)
- Деплой на конкретный инстенс происходит через нажатие кнопки деплоя нужного инстенса на ветке, соответствующей стейджу (например, деплой изменений на дев происходит через нажатие кнопки в пайплайне на ветке дев)
- Чтобы перейти к выбору инстенса нужно перейти в пайплайн ветки и выбрать нужную джобу (например deploy_dev_india - деплой на дев инстенса Индии)
- Деплой на внешний репозиторий остаётся таким же (в отдельной ветке). Добавляется только название/код инстенса в конфигурации (чтобы собрать нужный инстенс)
- Чтобы отслеживать статусы задач, необходимо указать в сообщении коммита айди задачи и название инстенса (например: fix: !Issue_id (Instance_name) fixed bugs)
пс - процессовый статус (boarding) дс - дополнительные статусы
Типы label и этапы выполнения задачи:
- waiting - (пс) - задача заведена и ждет выполнения
- processing - (пс) - задачу взяли в работу, создана отдельная ветка по задаче
- review/testing - (пс) - задача отправлена на просмотр владельцу проекта (без мержа с основной веткой) и на тестирование
- completed - (пс) - задача готова и отправлен merge request на владельца проекта
- bug - (дс) - найден баг в разработке, задаче проставляется дополнительный label
- high - (дс) - задача является приоритетной и сроки выполенения максимально короткие
- bug + high - (дс) - критинчая ошибка
- low - (дс) - задача является не приоритетной, обычно такого типа задачи для улучшения
- admin - (дс) - задачи административного характера, связанные с ведением проекта
<тип>[необязательный контекст]: <описание>
[необязательное тело]
[необязательная(ые) сноска(и)]