2012-04-25 50 views
3

在我的公司有大約30-40名開發人員,他們都在同一個網站上開發項目。項目分爲很多模塊。我的問題是每個開發者都運行他自己的JBOSS來運行他的JAVA代碼。使用Ant,他們構建Ear文件並將它們部署在運行在其本地桌面上的JBOSS上。這需要巨大的內存並減慢桌面。 如果我們可以在不同的服務器上運行JBOSS,並且所有的開發人員都使用這臺機器同時運行和測試他們的代碼,那麼這是不可能的。希望你們明白我的問題?網站developmet與JBOSS

在此先感謝。

+0

是的,這是可能的。開發人員在哪個操作系統中工作?您使用的是什麼JBoss產品,因爲JBoss EAP,JBoss EPP和JBoss SOA有不同的要求? – 2012-04-25 17:56:58

+0

我們正在開發一個龐大的網站項目,並且使用eclips IDE進行Windows開發,我們正在使用JBoss EAP。謝謝。 – Reader 2012-04-25 18:33:35

回答

1

您可以設置一個持續集成服務器,如Jenkins。與詹金斯你有不同的「項目」。每個項目構建代碼並運行一個JBoss實例。

有了Jenkins,您可以爲每個開發人員提供不同的項目(如果這是您想要的),並且每次開發人員檢查代碼時,您都可以獲得Jenkins編譯和運行單元測試的附加好處。

+0

我不知道這是否是答案。我已經通過鏈接了,但是我沒有看到爲多個用戶製作的配置。我認爲如果JBoss可以爲每個用戶創建單獨的會話,並且每個用戶將在他們的會話中工作而不會與其他用戶相互影響。其他用戶正在進行一些手動測試,同時某些用戶正在部署使用Ant進行代碼測試的構建。 – Reader 2012-04-26 14:47:03

+0

對這個鏈接抱歉,我實際上誤解了它。 – Atif 2012-04-27 21:24:26

+0

我從答案中刪除了鏈接。不過,請閱讀關於如何設置Jenkins的文檔:https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins 您需要這個JBoss插件:https://wiki.jenkins-ci.org/display/JENKINS/JBoss + Management + Plugin 這個想法是你在Jenkins有不同的「項目」。每個項目構建代碼並運行一個JBoss實例。所以如果你願意,每個開發者都會「擁有」一個Jenkin的項目。我們知道這是可以做到的,請參閱此案例研究:http://jboss-qa.blogspot.com/2007/10/taking-continuous-integration-to.html (詹金斯以前稱爲Hudson) – Atif 2012-04-27 21:27:17

0

這是可能的。您可以通過在特定IP上運行JBOSS應用服務器來實現這一點。要做到這一點,您必須使用./run.sh -b,後跟您想要的機器的IP地址運行應用程序server.with你的服務器已準備就緒。現在,每個客戶端都必須藉助該IP地址連接到服務器。爲此,請將環回地址(127.0.0.1)替換爲應用程序服務器所在的IP地址運行。

0

你可以但與許多開發人員在一起它可以變得棘手。

可以運行一個jboss實例,但是如果不同的開發人員使用相同的代碼,或者沒有熱部署,則會遇到熱部署,放慢工作和交叉污染的問題,在這種情況下服務器具有每次部署/更改應用程序時都要關閉。在測試環境中,這並不是很好。

另一種方式是爲每個開發者運行一個單獨的實例來運行測試,但是這可能在金錢和服務器資源中花費非常高。當您嘗試合併來自這些不同環境的更改時,您也會遇到噩夢。

一些好的組織可能會有所幫助。我們運行三個層次:開發,分期,生產。開發純粹是爲了你的開發者。錯誤跟蹤和測試在分期中處理,而生產是針對用戶和客戶的評估(假定產品還沒有推出)。使用一個良好的存儲庫來編寫從本地機器到開發的更改,然後管理員將更改組轉換爲分段。它並不能真正解決你在本地機器上的內存問題,但我想我會嘗試並幫助解決一些企業級的問題。

一個簡單的解決方法就是在每臺機器上放置大量的RAM,它的廉價便宜。然後將服務器內存設置設置得更高。這會減少你的cpu負載,並減少你看到來自太多熱部署的可怕的permgen錯誤的次數。