2009-12-14 30 views
0

我有一個Java應用程序的自動部署過程,目前我在構建機器上構建應用程序,將構建檢入scm,並讓生產計算機將構建工件(這是一個zip)和通過ant move類和配置文件到他們應該是的地方。部署:是否在生產機器上構建?

我見過其他策略,生產機器從scm中抽取源代碼並自行構建它。

我不喜歡前一種方法的事情是,如果我正在生產而不是暫存或開發或其他任何東西,我必須在構建中手動指定env。如果目標服務器負責這個工作,那麼構建過程中會涉及到更少的思想和摩擦。不過,我也喜歡使用與在分段測試中完全相同的構建。

所以,我想我的問題是,是否已經將已構建/已經測試過的應用程序複製到生產環境或讓生產在測試完成後再次構建應用程序。

回答

2

如果你已經有一個自動化的構建系統正在創建一個測試版本,那麼擴展它有多難,以便它同時構建一個測試版本和一個生產版本。通過這種方式,您可以獲得安全的知道他們是從完全相同的簽出源構建的,而且您的手工勞動少。我非常畏懼檢查構建的工件到SCM中的想法!

1

我總是比較喜歡在生產服務器上保持儘可能少的人性化 - 少更新,少出錯。