这是我采用的一种模式:版本库和开发都在自己的笔记本上进行,而服务器则通过svn来同步代码。 每次在服务器上测试都需要运行一系列的命令,并且由于无线网络使用DHCP取得动态ip,每次都要修改。 这个过程很麻烦,所以写一个简单的脚本完成这个任务。

基本思路很简单: 首先修改hosts文件(为svn update时提供方便,即使使用动态ip,也可以每次通过主机名来访问), 然后通过svn+ssh来获取代码, 之后则进行初步的设定,配置数据库文件, 最后则执行数据库迁移,并且启动script/server。

[lax@gnu ~]$ cat svn_ssh_from_lax 
sudo vi /etc/hosts
svn co svn+ssh://lax/LAX/_DEV_/_SVN_/repos/www.myshu.org/trunk www.myshu.org.devel_trunk
cd www.myshu.org.devel_trunk/ && cp config/database.yml.orig config/database.yml
vi config/database.yml && rake db:drop && rake db:create && rake db:migrate && ruby script/server

只需 $ sh svn_ssh_from_lax 即可运行此脚本来完成任务。