-
Notifications
You must be signed in to change notification settings - Fork 62
Upgrade
lanejianzhang edited this page Feb 18, 2013
·
7 revisions
升级网站就是让你的网站用mystory最新的源代码,而你之前作的改动仍然保留,比如config/config.yml等文件的改动。
$ sudo -u postgres pg_dump -Fc mystory_production > 20130218
$ cp -rf mystory 20130218
$ cd mystory
$ git pull origin master
这时候你很可能会遇到如下报错:
... error: Your local changes to 'Gemfile.lock' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
有两种办法解决这个报错,解决办法一:
$ git checkout -- Gemfile.lock
解决办法二:
$ git add Gemfile.lock
$ git commit -m 'Write something here'
再试试:
$ git pull origin master
你会发现成功了。如果Gemfile被改动了,需要你执行
$ bundle install
你也可以每次升级都执行$ bundle install
如果db/migrate/下有新的文件,需要你执行
$ rake db:migrate RAILS_ENV=production
你也可以每次升级都执行$ rake db:migrate RAILS_ENV=production
这时你可以重启Web(以配置了Nginx的Server为例,如果不清楚,请参考启用Nginx):
$ ps -ef|grep unicorn
$ kill -9 25001(25001只是一个例子,它对应的是'unicorn master -c config/unicorn.rb -E production -D'进程的ID)
$ bootup_unicorn -c config/unicorn.rb -E production -D
现在网站可以访问了。
$ rm -rf mystory
$ git clone [email protected]:gazeldx/mystory
手工将发动的所有文件copy到mystory目录中,然后重启Web。