2011-07-15 53 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简单更新播放不起作用/好主意是因为,因为有问题,你必须恢复,回滚模块,或善良知道不是什么。

简单地换出播放版本,重建,广泛测试,一旦你确定一切正常,然后你可以在一个活的网站上做出相同的改变,这会更好。

如果事情没有锻炼,或者你绝望地失去了,你所要做的就是恢复对你的项目的改变并切换播放版本。你会回到你开始的地方。