Svn 部署Web应用程序

Svn 部署Web应用程序,svn,deployment,ant,Svn,Deployment,Ant,我们使用SVN。在生产服务器上进行“svn升级”是一个好主意吗?如果是,我们如何回滚?部署web应用程序的最佳实践是什么(我们的应用程序是PHP) Boss想使用FTP。如果你的应用程序不是超级庞大,那么svn更新或FTP到新目录。完成后,重命名旧目录并重命名新目录 或者,只需创建一个符号链接,并将其更改为新目录 如果必须回滚,请将其更改回原处;如果不需要,请在再次更新时删除旧副本 如果你有一个巨大的应用程序,你可以做同样的事情,但是有两个副本,并使用RSYNC复制到新的树。从存储库更新测试服务

我们使用SVN。在生产服务器上进行“svn升级”是一个好主意吗?如果是,我们如何回滚?部署web应用程序的最佳实践是什么(我们的应用程序是PHP)


Boss想使用FTP。

如果你的应用程序不是超级庞大,那么svn更新或FTP到新目录。完成后,重命名旧目录并重命名新目录

或者,只需创建一个符号链接,并将其更改为新目录

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


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

从存储库更新测试服务器,标记它,并在测试服务器上打包应用程序树。一旦通过测试,就在生产服务器上部署包。焦油是一种合理的包装工具

在生产服务器上解包到一个新目录中,然后交换目录效果良好。作为交换的一部分,您应该重新加载服务器。回滚只需要反转目录交换

数据库更改更加困难。我试图确保更改与当前和以前的版本兼容。有些更改需要在后续版本中完成(新的非空约束、删除的列等)。数据库内容更改更为困难

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