Каковы некоторые рекомендации по именованию артефактов maven, когда существует несколько ветвей кода?

Предположим, у нас есть приложение, которое разрабатывается одновременно в магистрали и нескольких ветках, и мы хотели бы опубликовать артефакты из каждой ветки разработки в нашем репозитории maven (чтобы мы могли запускать кластер для каждой ветки кода). В настоящее время буква «V» в GAV соответствует номеру выполнения плана сборки нашего CI.

Какие существуют подходы для дифференциации GAV между каждой ветвью кода? Я могу думать о:

  • использование разных имен артефактов (например, myapp для ствола, myapp-b1 для версии branch1 и т. д.)
  • сбросить номера версий, чтобы ствол начинался с 100, ветка 1 начиналась с 10 000 и т. д. (в нашем случае это маловероятно, но выглядит глупо)

person Nikita    schedule 15.04.2015    source источник


Ответы (1)


Я думаю, что лучше всего использовать метки времени в качестве суффикса для номеров версий, например. 4.3.20150415171925255. Это означает, что это 4-я основная версия, 3-я минорная и артефакт, созданный 2015-04-15T17:19:25.255.

Благодаря этому соглашению вы должны избегать конфликтов имен, и вы всегда знаете, какая версия является самой новой.

person Michal Kordas    schedule 15.04.2015
comment
Не думайте, что это работает здесь, поскольку каждая ветка разработки создает разные артефакты. Следовательно, не имеет значения, является ли артефакт из ветки 1 более новым или старым, чем артефакт из ветки 2. цель состоит в том, чтобы развернуть последние версии каждого артефакта в отдельном кластере. То, что вы описываете, уже реализовано maven для версий X-SNAPSHOT. - person Nikita; 15.04.2015