Pull to refresh

Comments 8

UFO just landed and posted this here
Немножко не понимаю термин — «модифицированный сценарий сбоки». Сценарий сборки остался без изменений — «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, она примерно это и делает.


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

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

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

Articles