如何更新服务器上的Web应用程序?

时间:2008-09-01 12:56:41

标签: deployment web-applications maintenance administration

我知道Capistrano但对我来说这有点太重了。我个人设置了两个Mercurial存储库,一个在生产服务器上,另一个在我的本地开发机器上。通常,当新功能准备就绪时,我将更改从本地计算机上的存储库推送到服务器上的存储库,然后在服务器上进行更新。这是在几台计算机上保持文件同步的非常简单快捷的方法,但无助于更新数据库。

你对这个问题有什么解决方法?

5 个答案:

答案 0 :(得分:1)

我曾经使用git push发布到我的网络服务器,但最近我一直在使用rsync。我试图让我的网站尽可能不知道它在哪里运行(使用相对路径等),到目前为止,它的工作效果非常好。唯一的挑战是保持数据库同步,为此我通常使用生产数据库作为主数据库并定期备份并导入我的测试数据库。

答案 1 :(得分:1)

Fabric,如果您更喜欢Python。

答案 2 :(得分:1)

什么是关于卡皮斯特拉诺的重量级人物?如果你想同步文件,那么确保rsync很棒。但是,如果你那时需要做db更新,那么上限可能不是很糟糕吗?

答案 3 :(得分:0)

@Andrew

要使用git push来部署您的站点,您需要先在.git / config文件中设置一个远程服务器以进行推送。然后你需要配置一个基本上执行git reset的钩子 - 硬件将你刚刚复制到存储库的代码复制到工作目录。

我知道这有点模糊,但是一旦我切换到rsync,我实际上删除了服务器端的.git文件夹,所以我没有使用我用来制作魔法的确切脚本。尽管如此,这可能是一个完整问题的良好候选者,因此您可能会以这种方式获得更多回复。

编辑:我知道已经有一段时间了,但我终于找到了我再次使用的内容:

Deploy a project using Git push

答案 4 :(得分:0)

我假设你在谈论Ruby on Rails。

查看HowTo wiki:

http://wiki.rubyonrails.com/rails/pages/Howtos#deployment