LINUX.ORG.RU

Разработка java + Maven + Jenkins + SVN

 , ,


0

1

Для того, чтобы разобраться с проблемой, нужно точно знать какой код соответствует бинарнику. В оффтопике MSI файлы содержат номер версии. А в JAR и WAR файлах такого нет. Ее можно запихать в манифест, но нужно знать тэг SVN в момент создания jar файла.

Как назначаете и отслеживаете версии jar файлов, которые переданы в эксплуатацию? Когда код получает тэг в SVN?

Поделитесь, пожалуйста, опытом.



Последнее исправление: maxcom (всего исправлений: 1)

Если мавеном собирался jar-файл, то в META-INF/maven есть pom.xml, из него версию можно вытащить.

Legioner ★★★★★
()
Ответ на: комментарий от maxcom

Он делает примерно тоже, что делает war plugin в моём сборщике. Jenkins запускает сборку с параметрами версия и билд. Эти значения заносятся в манифест и после успешной сборки в SVN создаётся метка «проект/tags/Jenkins_версия.билд». Т.е. после сборки у меня версия помечена в манифесте и в SVN.

Всё хорошо, но команда сопровождения SVN возражает против создания меток после каждой успешной сборки (есть проекты, которые набрали десятки тысяч меток).

Возможно есть более правильные пути. Поэтому и прошу народ поделится опытом разработки. Как делаются релизы, как помечается код в SVN и как находится код соответствующий рабочему бинарнику.

a0512
() автор топика

Жарники запакованы в архив с именем имя-номер-ревизии.zip. Номер ревизии берет jenkins при сборке из системы контроля версий. А теперь самое важное: на деплой отдается не жарник, а имя архива, который они своими скриптами вытягивают. На сервере проект развернут как стмлинк с «имя» на «имя-номер-ревизии». Все, теперь всегда можно посмотрев симлинк узнать версию.

dizza ★★★★★
()
Последнее исправление: dizza (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.