Когда создавать ветку из тега? - PullRequest
1 голос
/ 26 марта 2019

Для конкретного проекта мы не планируем выпуск

Используя подход CI / CD, конвейер Dev создает артефакты с соглашением имен, что-то вроде: 1.0-23-SNAPSHOT.jar.

Мы не можем создать ветвь release из ветки develop, чтобы запустить конвейер QA, потому что для этого приложения не существует выпуска раньше.

Цель - начать фазу QA.

Конвейер QA должен запускаться на конкретном коммите с фиксацией на develop ветви , но создавать артефакт что-то вроде: ${future_release_num}-${git_tag}-release.jar

Процесс сборки исходного кода генерирует артефакты с таким соглашением об именах. Некоторые зависимые артефакты помещаются maven build в JFrog, так что они вытягиваются на pom.xml во время maven build.

Разработчики постоянно работают в develop филиале.


Разрешает ли эта проблема ветвление из тэга commit ? запустить конвейер QA ... Мы в основном хотим создать эту ветку только для соглашения об именовании артефактов

1 Ответ

1 голос
/ 26 марта 2019

Чтобы создать ветку из тега, вы можете иметь

git checkout -b <branch_name_you_want_to_create> <tag>

Однако я бы порекомендовал поместить функциональность, генерирующую имя артефакта, в CI, чтобы вы не загрязняли свой репозиторий многими настраиваемыми именами ветвей. Вместо этого вы можете сгенерировать имя на основе заданного SHA.

Вы можете получить закрывающий тег, используя:

git describe --abbrev=0

Но все же CI должен знать, что вы собираетесь выпустить. Это может быть основная версия, дополнительная или патч (при условии, что вы вообще используете semver).

...