Мы используем Hudson, Maven2 и maven-ear-plugin.Как настроить Hudson/Maven2 для добавления SVN-версии в название EAR?
Возможно ли, чтобы встроенные файлы EAR содержали ревизию SVN в их имени файла (что-то вроде project-1234.ear)?
Мы используем Hudson, Maven2 и maven-ear-plugin.Как настроить Hudson/Maven2 для добавления SVN-версии в название EAR?
Возможно ли, чтобы встроенные файлы EAR содержали ревизию SVN в их имени файла (что-то вроде project-1234.ear)?
Для этого можно использовать buildnumber-maven-number. В принципе, этот плагин устанавливает свойство ${buildNumber}
, которое вы можете использовать позже в конфигурации плагина уха maven.
Во-первых, установка номер сборки Maven Plugin как описано here:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
...
</plugins>
Затем используйте параметр finalName
настроить имя генерируемого уха. Например:
<plugins>
...
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>${project.artifactId}-r${buildNumber}</finalName>
...
</configuration>
</plugin>
...
</plugins>
Hudson представляет ревизию. Таким образом, у вас есть два варианта. Просто переименуйте результат потом или поставьте Maven с ревизией, и он может изменить имя по мере необходимости.
Думаю, что это может быть и другим способом. Пусть Maven запрос СВН для пересмотра и чем включить его в earname
Однако, Вы действительно это нужно? Хадсон предлагает возможность отпечатков пальцев. Таким образом, вы можете отправить файл позже в Hudson, и он вернет номер сборки.
Опираясь на двигатель CI, это не очень хорошая идея ИМО. Инструмент CI должен использоваться для запуска сборки и уведомления, а не для вещей, которые должны обрабатываться на уровне сборки (что, если вы создаете вне hudson, что, если вы используете другой инструмент CI и т. Д.). –
Зависит от требований. Вы в конечном итоге вводите в заблуждение имена файлов, если вы создаете незафиксированный код? - Однако я согласен с тем, что вы должны быть осторожны при использовании движка CI для этого. Однако, в моем конкретном случае использования, мы установили двигатель CI как авторитетный двигатель здания. Это означает, что все двоичные файлы, которые будут развернуты в центральной среде, должны быть созданы движком CI. Это делает результаты испытаний более воспроизводимыми. Поскольку вы устраняете проблемы, возникающие в результате разных настроек во время компиляции. –