2011-08-13 45 views
1

將SVN標籤部署到生產環境的最佳方式是什麼? SVN交換機還是SVN Checkout? 使用SVN開關將添加.svn文件,這些文件可能會佔用大量存儲空間,但使用起來方便且容易。PHP 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 

OR

選項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

將svn checkout用於新的空目錄,以確保您沒有任何未提交的文件。然後使用svn導出到一個新的空目錄(或手動刪除所有.svn目錄)。然後用新文件替換web服務目錄的舊內容,或使用符號鏈接。 .svn目錄不應該從外部訪問。

我的網絡應用程序在部署前通常需要一些構建過程。這個構建過程取代了svn導出階段。

+0

所以你說選項2 - SVN Checkout是最好的? :) – marknt15

+0

不,第三個選項:['svn export'](http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.export.html):) – hakre

相關問題