2012-01-25 29 views
1

爲了知道應用程序的版本號是什麼,我們使用它來爲我們部署到Glassfish名稱上的耳朵,如myapp_2012-01-20_rev22123.ear。然後,我們可以簡單地登錄Glassfish並查看在Web界面中部署的版本(因爲appname是ear文件的名稱)。這種方法的缺點是,我們需要手動取消部署/重新部署來更新名稱...瞭解部署的應用程序版本的好方法?

但我想腳本取消部署/部署過程,並讓每個版本的耳朵獲得不同的名稱並不適合爲重新部署過程編寫腳本。 Glassfish 2不支持Glassfish 3擁有的「列表應用程序」目標,我可以用它來檢索應用程序名稱以取消部署。

那麼有沒有什麼好的策略可以讓我們很容易地看到應用程序的版本是什麼,並且不會因上述錯誤而受到影響?

如果這意味着我們不需要改變現有的應用程序(比如添加一個jsp頁面或者顯示當前的scm修訂版本),但是Maven構建腳本中的更改是可以接受的,那將會更好。

回答

2

我遇到過類似的問題,我終於通過使用maven-buildnumber-plugin來編寫一個簡單的servlet來獲取構建信息。您可以在the blog post I made中找到詳細信息。

+0

我實際上已經完成了這個(對於一個應用程序),這就是爲什麼我上面有我的jsp評論。這意味着要爲每個需要此解決方案的應用程序添加servlet,這有點麻煩。不是一個愚蠢的想法,只是不是我想要的:) – oligofren

1

爲什麼不在部署時使用內置的GlassFish Server版本來分配版本號?這也將使您能夠回滾到之前的版本。例如:

的asadmin部署--name所有MyApplication:2012-01-20_rev22123 MyApplication.ear

有應用此版本的更多信息:
http://docs.oracle.com/cd/E18930_01/html/821-2417/gihzx.html#gkhhv

希望這有助於。

+0

嗯......似乎在glassfish中沒有工作2.得到一個錯誤消息,說應用程序已經使用上下文路徑。即使我已經禁用了以前的版本。將嘗試與玻璃魚3. – oligofren

+0

對不起,這是一個GlassFish 3功能。對不起,我沒有注意到GlassFish 2的版本。 –

+0

不用擔心 - 我喜歡這個解決方案,並且在用GF3進行測試並查看升級路徑是否清晰後可能會用到它。 – oligofren

相關問題