PHP SVN:将svn标签部署到生产环境的最佳方法是什么?

时间:2011-08-13 09:50:24

标签: php svn web-deployment

将SVN标记部署到生产环境的最佳方法是什么? SVN交换机还是SVN Checkout? 使用SVN开关将添加可能占用大量存储空间的.svn文件,但使用起来既方便又容易。

使用SVN Checkout将删除.svn文件,并将其符号链接到新的结帐文件夹。

SVN交换机和SVN结账部署到生产的优缺点是什么?哪个更容易实用?对我来说,“SVN Checkout”方式。

感谢。


选项1:使用SVN SWITCH - 通过SSH连接到生产服务器然后执行SVN SWITCH:

$ cd /var/www/html/sites/mydomain.com/
$ svn switch https://svn.svndomain.com/repos/mydomain.com/site/tags/4.11.0-qa1
// Reload Apache
$ /etc/init.d/httpd reload

选项2:使用SVN导出 - 通过SSH连接到生产服务器然后将SVN导出到带有版本和符号链接的新文件夹,如下所示:

// Export Site
$ svn export https://svn.svndomain.com/repos/mydomain.com/site/tags/4.11.0 /var/www/html/sites/mydomain.com_4.11.0
$ cd /var/www/html/sites/;
$ unlink mydomain.com;
$ ln -s mydomain.com_4.11.0 mydomain.com;

// Reload Apache
$ /etc/init.d/httpd reload

1 个答案:

答案 0 :(得分:1)

将svn checkout用于新的空目录,以确保您没有任何未提交的文件。然后使用svn export到新的空目录(或手动删除所有.svn目录)。然后使用新文件替换Web服务目录的旧内容,或使用符号链接。 .svn目录不应该从外部访问。

我的网络应用程序在部署之前通常需要一些构建过程。此构建过程将替换svn导出阶段。