2009-11-30 118 views
11

我是顛覆的新手,我想知道你是如何從開發轉向分期製作的?從Subversion部署網站

我想我掌握創建分支製作的分支的概念爲detailed here。但是,我如何實際部署分支?

理想情況下,我可以建立一個新的網站,並從分支複製文件,但我擔心複製任何svn綁定到生產中。

如果它是相關的,這是一個Visual Studio網站項目,我使用VisualSVN服務器,TortoiseSVN和Ankh與Visual Studio集成。

回答

11

svn export

導出你想要做一個svn export排除所有的顛覆克魯夫特

-2

您的構建系統中需要某種「部署」目標,忽略名爲.svn的文件夾 - 即所有subversion信息所在的位置。

4

的文件。這將導出全部沒有.svn目錄的代碼。

3

除非您將在單獨的分支上開發,否則我只會使用tag來標記發佈。

然後,您將需要執行該標記的svn export,以便您不再需要全部額外的.svn文件夾。

5

你在這裏錯過了一件,基本上 - 你不應該單獨使用subversion來部署測試和生產。最好的辦法是使用某種腳本來從Subversion中獲取內容(如果使用svn導出,它不會帶來Subversion文件鉤子),創建任何必需的文件(使用MSBuild,可以編寫腳本),刪除不必要的文件(比如自建立以來的.aspx.cs文件),並將其複製到您的環境中。

在本地,我們使用powershell將所有內容粘合在一起,並將svn命令行,MSBuild和nUnit的組合從命令行中進行構建。

+1

優點約翰 - 除非它是一個非常簡單的設置,否則可能不僅僅是一個簡單的「導出」所需。除了描述的「pull」類型操作(腳本觸發svn導出的地方)之外,我還看到了一個放置在存儲庫中的「deploy」腳本。即要更新的過程是1)執行導出。 2)運行部署腳本(通常以交互模式運行)。在一個案例中,它實際上是一個「部署」頁面。 – 2009-11-30 21:36:52

+0

這是一個好點,但這實際上是一個簡單的設置。所以不需要讓事情過於複雜。 – plntxt 2009-11-30 23:39:59

0

我處理它的方式是我使用一個構建工具(如螞蟻+常春藤或行家)自動檢查所述代碼出來顛覆的過程中,建立一個僞影,然後部署到哪裏需要。

我在java方面工作比較多,所以不熟悉.net工具,也許你可以用nmaven?

0

舊的線程,但現在這個改變了一點,因爲SVN在項目的根目錄中只有一個.svn文件?你也可以設置Apache忽略.svn請求,這使得部署這種方式更加可行?