部署Web应用程序

3
我们使用SVN。在生产服务器上执行“svn up”是否明智?如果是的话,我们如何回滚?在部署Web应用程序时,什么被认为是最佳实践(我们的应用程序是PHP编写的)。
老板想使用FTP。
2个回答

1

如果您的应用程序不是非常庞大,那么可以使用svn update或ftp到一个新目录。完成后,重命名旧目录并重命名新目录。

或者,只需使用符号链接,并将其更改为新目录。

如果必须回滚,请将其更改回来;如果不需要,请在下次更新时删除旧副本。

如果您有一个巨大的应用程序,可以做同样的事情,但有两个副本,并使用RSYNC复制到新树。


0

从代码库更新测试服务器,打标签,并在测试服务器上打包应用程序树。一旦通过测试,将软件包部署到生产服务器上。Tar是一个合理的打包工具。

在生产服务器上解压缩到一个新目录,然后交换目录即可。您应该在交换过程中重新加载服务器。回滚只需要反转目录交换。

数据库更改更加困难。我尽量确保更改与当前和以前的版本兼容。有些更改需要在随后的版本中完成(新的NOT NULL约束,删除的列等)。数据库内容更改更加困难。

环境特定数据需要成为Web服务器配置的一部分,而不是应用程序配置的一部分。如果环境有不同的数据库,则可以将某些数据存储在数据库中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接