2012-02-08 56 views
7

我很想知道其他開發人員如何處理Web應用程序的版本控制和部署不同版本。根本的問題是,當你部署一個新版本時,有人可能會使用你的網絡應用程序,在這一點上,他們沒有在客戶端的Javascript等已經過時了。網絡應用程序部署和多個版本

版本控制在媒體上的客戶端是很容易的,但如果你的版本,你還需要版本的業務邏輯和數據庫,這就是事情會變得凌亂......

所以我看到有幾種處理方法:

  1. 部署新版本時,在網站上顯示「升級」通知。

  2. 版本標記客戶端並拒絕從舊客戶端來源提交到新版本的任何提交。不夠公平,但它並不真正與持續部署並駕齊驅。

  3. 連續數據庫遷移 - 同時運行多個版本的應用程序(儘可能將用戶遷移到新版本)。這需要將舊數據庫模式上的任何更新「轉發」到新模式。看起來對部署最有吸引力,但也可能非常複雜。

  4. 在所有三個中間的某個地方。

我要指出,我知道擔心這樣的事情是超出了大多數應用程序的需求,但我想這個問題,我很好奇,想知道別人如何對待它。

+0

複雜的問題。結帳以下回答: http://stackoverflow.com/questions/389169/best-practices-for-api-versioning – 2012-02-08 22:32:00

+0

好問題問 – bhargav 2012-10-23 11:21:26

回答

-2

有很多工具可用於您的確切要求。像Phing和Phingistrano。 Git也使它很簡單,但不會顯示脫機通知和數據庫部署。我建議不要在活動服務器上進行自動部署,在分段和手動部署上使用自動部署。也期待在谷歌持續整合,並嘗試teamcity