Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 8

НЛО прилетело и опубликовало эту надпись здесь
Немножко не понимаю термин — «модифицированный сценарий сбоки». Сценарий сборки остался без изменений — «mvn package». Просто билдится он фактически из бранча, изменения в котором не коммититятся. Если сильно надо — после mvn versions:set можно создать новый «релиз-кандидат» бранч и билдить артифакты из этого бранча (который добавить в exclude).
Если уж вы собираете Jenkins, и используете специфичные для него вещи типа пайплайнов, то почему тогда не использовать номер билда, который отслеживает сам Jenkins?

Он внутри pom.xml доступен, может быть записан куда нужно (скажем в манифест jar-а), и успешно использован.
Была такая мысль, но номер билда Jenkins — вещь непостоянная. Да и строчек кода не сильно много сэкономишь. Аппроач, по сути дела один — где-то отдельно от pom-файла хранится номер билда. А где он конкретно хранится — это уже дело вкуса.
Ну, строчек кода будет ровно ноль — jenkins номер кладет в env, откуда его сразу можно брать.

Разница на самом деле скорее в том, что вы нумеруете глобально, даже если копий jenkins вдруг станет несколько — у вас последовательность сохранится. Понятно, что некий смысл в этом есть, хотя два сборочных сервера — это все же не слишком типично.
Иногда дженкинс зависает, Devops где-то нажимает рубильник и сервер востанавливается.
Но номера билдов начинаются с 1 :)

Я не гуру в java/maven, но даже у меня появился вопрос.


А можно вместо изменений в файле pom.xml + коммит в git, использовать такую вещь, как git tag.
В имени этого tag написать ровно ту версию что прописывается в pom.xml.


Преимущество tag перед commit как раз в том что он никак не меняет историю коммитов.
С помощью tag можно навесить на commit любую метаинформацию, например, версию.


А уже во время билда вытаскивать версию через этот git tag
Можно погуглить команду git describe, она примерно это и делает.


Как смотрите на такой вариант?

Мне тоже про гит хеш подумалось… просто и не надо ничего коммитить.

Хотя, с другой стороны, если все таки хочется коммитить, то можно использовать мавен релиз плагин. Он сам умеет инкриментить версию, но выглядеть все это будет, так же, ужасно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации