2011-07-15 54 views
2

我非常感謝任何人分享最佳實踐,模式,反模式,備份,回滾過程,您已經制定了一個無痛,萬無一失的Play框架升級。Playframework:升級過程 - 最佳實踐

我想只用最新版本替換的bin /目錄播放可能會導致問題

編輯:

我在尋找更具體的版本管理策略,比如,

一)你只是有/ bin/play目錄有最新的播放版本或 b)你是否保留/bin/play-1.1/bin/play-1.2等版本,並改變你的$ PATH指向最新版本(缺點:你必須重建您的模塊,依賴關係& libs;優點:更好地控制回滾)

+0

您是否嘗試過升級?它可能正常工作。確保你有備份。 – Ryan

+0

我已經將應用程序從1.0.3.2升級到1.1,然後1.2沒有任何問題。你有更多的模塊會變得越複雜,但我沒有任何問題的基本代碼。 – Codemwnci

+1

我在Windows 7上運行我的開發,並將每個版本的Play安裝在c:\ play \ play-1.1 c:\ play \ play-1.2 \等中。然後我有一個命令行快捷方式,在啓動時運行批處理文件,它將路徑設置爲相關版本。我沒有使用大量的模塊或依賴項,所以這對我來說通常也不是問題。 – Codemwnci

回答

6

我更喜歡使用Git來從源代碼安裝遊戲:

git clone git://github.com/playframework/play.git 
cd play 

# checkout specific version 
git checkout 1.2.1 

cd framework 
ant 
cd .. 
ln -s $PWD/play ~/bin 

所以我有一個完整的安裝,包括所有來源。後來,當比賽被更新到1.2.2版本我做了以下內容:

cd <play_home> 
git pull 
git checkout 1.2.2 
cd framework 
ant 

在您的應用程序,那麼你做

play clean && play run 

從源碼編譯運行遊戲的優點是你可以隨時並輕鬆回滾到以前的版本,甚至可以測試當前開發的功能。儘管如此,這並不能解決多個版本的遊戲同時處於活動狀態的問題。

+0

謝謝安德烈。這很棒。在結束這個問題之前尋找更多的最佳實踐(圍繞數據庫和其他外圍領域) – roshan

4

我同意安德烈。但是,如果您要求實時項目的最佳實踐,我會以不同的方式做。

您可以在本地機器上安裝多個版本。你唯一需要改變的是在路徑中看到哪一個。例如,你可以有1.1,1.2,2.0,並且取決於你想要哪一個,你只需修改你的/home/youruser/.bashrc文件。

原因是,爲什麼從githg簡單更新播放不起作用/好主意是因爲,因爲有問題,你必須恢復,回滾模塊,或善良知道不是什麼。

簡單地換出播放版本,重建,廣泛測試,一旦你確定一切正常,然後你可以在一個活的網站上做出相同的改變,這會更好。

如果事情沒有鍛鍊,或者你絕望地失去了,你所要做的就是恢復對你的項目的改變並切換播放版本。你會回到你開始的地方。