Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Управление процессом разработки ИС |
![]() ![]() |
Alexey Tomin Member Откуда: Самара Сообщений: 1965 |
Добрый день! Все известные мне CI-средства выполняют chtckout из git в "detached head". Вроде всё правильно- это позволяет собрать именно с того коммита, который запрошен. Но тут приходит version'нинг. Например mvn deploy (да и любое другое средство) должен выполнить git push чтобы записать изменение версии после сборки релиза. И тут приходит ошибка, мол "ьфыеук у тебя сутарел давно". Я сейчас решаю это использование git clone вместо git fetch но это во-первых замедляет сборку, во-вторых видится мне каким-то костылём. Как правильно выполнить сборку релиза на агенте при том, что после git fetch мастер не соответствует апстриму? |
23 апр 18, 08:20 [21359537] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Alexey Tomin, Можно обойтись вообще без push, версию вычислять из тегов/бранчей. Точнее, лично я считаю, что пуш с bump version, это ужасный, отвратительный костыль, и никогда этого не делаю. Вот, например, тула для вычисления версии из гита https://gitversion.readthedocs.io/en/latest/ Мы не пользуемся, у нас свой скрипт :) Но суть примерно такая же. |
24 апр 18, 18:35 [21365688] Ответить | Цитировать Сообщить модератору |
Alexey Tomin Member Откуда: Самара Сообщений: 1965 |
Спасибо! Интересная мысль, буду её думать :) Собственно тэгов достаточно- автоматически меняется только последняя цифра- в мавене можно писать "1.10-SNAPSHOT" а по тегам (1.10.0, 1.10.1 например) понимать, что надо собрать 1.10.2 Собственно для фичевых веток так уже сделано, а вот в мастере традиционнх ранится полная версия, строго равная версии библиотеки/приложения. |
||
25 апр 18, 07:35 [21366501] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
Если работать по гит-флоу (git-flow), то в мастере все комиты должны быть помечены релизными ветками. А develop вычисляется из последнего достижимого тега в истории +1 для минорной-версии, например, последний достижимый тег 1.9.0, значит в дев будет 1.10.0 автоматом. Хотфиксы нумеруют патч версию, т.е. если в мастере залиты хотфиксы, например, 1.9.7 (семь патчей было), в дев всё равно будет 1.10.0. Плюс к этому используются релиз-теги (-alpha, -beta, -support, -request<-issue>... etc.) |
||
25 апр 18, 15:25 [21368184] Ответить | Цитировать Сообщить модератору |
hVostt Member Откуда: Сообщений: 18991 |
*тегами |
||
25 апр 18, 15:25 [21368187] Ответить | Цитировать Сообщить модератору |
anatolyz Member Откуда: Сообщений: 1 |
Можно обойтись вообще без push. 192.168.0.1 |
4 янв 19, 06:00 [21778211] Ответить | Цитировать Сообщить модератору |
Alexey Tomin Member Откуда: Самара Сообщений: 1965 |
Какая связь? Винды у нас давно нигде нет, ci-сервери и git-сервер это разные машины. |
||
5 янв 19, 11:55 [21778694] Ответить | Цитировать Сообщить модератору |
Все форумы / Управление процессом разработки ИС | ![]() |