Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Управление процессом разработки ИС Новый топик    Ответить
 Выбор модели ветвления git  [new]
kasik
Member

Откуда:
Сообщений: 2142
Доброго времени суток, форумчане!

Есть такой вопросик:

Есть проект, в нем следующая схема ветвления(устоялась видимо такая под давлением бизнеса):
- при разработке задачи бренчатся от dev;
- после ее реализации через мекрдж реквест вливают в dev;
- на test-контур уходит все с dev;
- есть так же контура pre-prod и prod;
- как на них попадает конкретная задача:
- бренчатся от необходимой ветки(pre- или prod)
- и черипиками из конкртеной задачи добиваю ее комитами


Соответственно получается что на препроде может быть любой срец задач и на проде тоже и только в dev они все есть.

Это конечно же очень и очень плохо, но обычный гитфлоу никак не подходит, потому что бизнесу может в конкретный момент времени только определенный срез задач.

Я же хочу что бы гит был не свалкой комитов-дублей, а единый поток в континууме.

Можно ли как то реализовать такое функционалом гита, в коде и тд. что бы уйти от черипиков.

ЗЫ: Не закидывайте, пожалуйста, тухлыми яицами и тд((
7 июн 19, 15:27    [21904632]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
WebSharper
Member

Откуда:
Сообщений: 487
Я не очень понял, что такое "контур" и какая ветка соответствует какому контуру.
Почему именно в вашем бизнесу нужен определенный срез задач.

Можно использовать feature toggles вместо веток - код будет присутствовать на проде но будет отключен, пока не протестируют (причем включать можно для разных потребителей постепенно)
8 июн 19, 11:46    [21905101]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
kasik
Member

Откуда:
Сообщений: 2142
WebSharper,

Спасибо, тема нормальная, что-то примерно вертелось в голове. Но сложность в том, что ладно это можно решить на уровне js, но в репозиториях часто есть еще и серверный код на java и артифакты в виде bpm-диаграммы. Их if'ом "не обрежешь", к сожалению.

Контур - это энвармент(enviroment), различная среда под TEST, PROD.
10 июн 19, 08:13    [21905646]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
WebSharper
Member

Откуда:
Сообщений: 487
BPM - диаграммы да (хотя там тоже могут быть ифы - нет?), но код на java почему нельзя ifом обрезать?

Если у вас логически несколько веток и черрипики, то надо несколько веток и черрипики или договариваться, чтобы вся разработка была по другому.
10 июн 19, 08:40    [21905654]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
Alexey Tomin
Member

Откуда: Самара
Сообщений: 1783
kasik
Есть проект, в нем следующая схема ветвления(устоялась видимо такая под давлением бизнеса):


Я так понимаю, что проблема у вас в том, что ветки мержатся в мастер без нормального тестирования.
У вас проблема именно в этом.

Надо так:
master, от него ветки для задач. С каждой ветки создаются тестовые сборки. Когда задача проверена - она мержится в мастер. Когда межится- остальные ветки задач ребейзятся на мастер (или мастер мержится).

В некоторый момент фиксируется скоуп задач- например можно отводить от мастера ветку "v-1.2.3" и она проверяется на основе вошедших в него задач. Если что-то сломалась- делается фикс в ветку и чери-пик в мастер. Вариант- на несколько дней запрет мержа в мастер задач - только фиксы.

После этого всё будет в нормальном гит-флоу и вообще стабильность повысится.
10 июн 19, 10:24    [21905727]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
kasik
Member

Откуда:
Сообщений: 2142
WebSharper,

>> чтобы вся разработка была по другому.

Об этом и речьЖ только не могу оптимальное решение придумать под данные нужды...
10 июн 19, 10:54    [21905754]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
WebSharper
Member

Откуда:
Сообщений: 487
kasik
Об этом и речьЖ только не могу оптимальное решение придумать под данные нужды...


Тогда расскажите про нужды: почему именно "бизнесу может в конкретный момент времени только определенный срез задач."?

Gitflow подразумевает, что вы делаете новые фичи в отдельных ветках, когда они готовы сливаетесь в develop, когда подходит время релиза, создаете для него ветку, стабилизируете его там, потом переливаете в master. Если надо исправить что-то срочно, создаете хотфикс-ветку от мастера - исправляете там и переливаете в develop и master.

Чем бизнес не устраивает время от времени получать все готовые на данный момент фичи? Фичи недостаточно протестированы, риск сломать что-то что уже работает?
11 июн 19, 08:46    [21906346]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2537
kasik
Можно ли как то реализовать такое функционалом гита, в коде и тд. что бы уйти от черипиков.

Есть два подхода: feature branches и feature toggles. Оба описаны и с картинками.
И оба судя по тексту вам подходят.

Изучайте и пробуйте. Дело на мой взгляд не в том, "что бизнесу может в конкретный момент времени только определенный срез задач", а в наскоро выбранном техническом решении.
24 июн 19, 09:57    [21913861]     Ответить | Цитировать Сообщить модератору
 Re: Выбор модели ветвления git  [new]
Bsplesk
Member

Откуда:
Сообщений: 126
Тема кстати интересная, у нас тоже "стандартные" flows не вписались в наши процессы, пришлось думать и договариваться, но опыт коллег всегда интересен. Не плохо, чтобы каждый написал не только как у них, а почему именно так и как они к этому пришли/тоесть требования (типа выкат fixpack не дольше 15 мин... и.т.д.).
17 авг 19, 00:36    [21951570]     Ответить | Цитировать Сообщить модератору
Все форумы / Управление процессом разработки ИС Ответить