Хорошая стратегия для определения версий развернутых приложений? - PullRequest
1 голос
/ 25 января 2012

Чтобы узнать, из какого номера ревизии построено приложение, мы используем, чтобы дать уши, которые мы развертываем, именам Glassfish, таким как myapp_2012-01-20_rev22123.ear. Затем мы можем просто войти в Glassfish и посмотреть, какая версия развернута в веб-интерфейсе (так как имя приложения - это имя файла ear). Недостатком этого подхода является то, что нам необходимо выполнить ручное удаление / повторное развертывание, чтобы обновить имя ...

Но я хотел бы написать сценарий процесса отмены развертывания / развертывания, и получение каждой версией уха отдельного имени не очень подходит для сценариев этого процесса повторного развертывания. Glassfish 2 не поддерживает цель «список приложений», которую ставит Glassfish 3, которую я мог бы использовать для извлечения имени приложения для отмены развертывания.

Так есть ли какая-нибудь хорошая стратегия, которая позволит нам легко увидеть, какая версия приложения развернута, и которая не страдает от вышеуказанной ошибки?

Было бы предпочтительно, если бы это означало, что нам не нужно было изменять существующие приложения (например, добавить страницу jsp или что-то, чтобы показать текущую версию scm), но изменение в сценарии сборки Maven было бы приемлемым.

Ответы [ 2 ]

2 голосов
/ 25 января 2012

Я столкнулся с подобной проблемой, и, наконец, решил ее, используя maven-buildnumber-plugin и написав простой сервлет для получения информации о сборке.Вы можете найти подробности в посте моего блога .

1 голос
/ 25 января 2012

Почему бы не использовать встроенный сервер версий GlassFish для назначения номера версии во время развертывания? Это также позволит вам вернуться к предыдущим версиям. Например:

asadmin deploy --name MyApplication: 2012-01-20_rev22123 MyApplication.ear

Более подробная информация о версиях приложения здесь:
http://docs.oracle.com/cd/E18930_01/html/821-2417/gihzx.html#gkhhv

Надеюсь, это поможет.

...