2009-07-10 17 views
3

有了顛覆或TFS,你會如何設置自動構建?有了顛覆或TFS,你將如何去設置自動構建?

我需要一些關於命名約定的指導以及這將如何自動發生。

我正在使用/ branches/trunk/tags文件夾結構。 我正在使用構建應用程序(finalbuilder)。

我會告訴它哪個標籤名稱(或修訂版#等)?由於它會一直在改變,人們如何進行夜間製作?在發佈的名稱中使用日期?

+0

如果您打算使用標籤構建,每晚構建的要點是什麼?你應該從樹幹上修建。 – idursun 2009-07-10 13:03:57

+0

idursun,其實我在問這個問題,我以前沒做過。 – Blankman 2009-07-10 13:05:16

+0

你想從每個開發分支構建 - 開發分支包含功能的進行中的工作,沒有理由不從他們建立。 標籤(發佈)分支只需要自動構建,如果你正在修復它們的錯誤或以任何方式修改它們。 – ripper234 2009-07-11 09:54:55

回答

0

我會設置構建服務器來監視/ trunk文件夾,並在任何提交時觸發構建。如果想要的話,你可以讓構建腳本最後爲構建創建一個標記(儘管這可能有點雄心勃勃,這取決於事物對樹幹的響應頻率)。當我這樣做時,我通常在標籤名稱中包含Subversion版本號,並且還包含文件的版本號(在適用的範圍內)。

0

你應該能夠從/ trunk(並且可能與其他你認爲很重要的分支構建的其他夜間版本)中拉出來。從標籤進行夜間構建並不是特別有用,因爲通常標籤是靜態的。檢出時,您可以通過檢出的修訂版號識別結帳。這樣,如果你需要了解自那以後發生了什麼變化,你可以從該修訂(或分支,不管)中進行區分。

4

使用TeamCity,爲trunk +每個分支設置單獨的版本。我們這樣做,這是非常有幫助的。

0

我們使用Hudson,它會定期檢查(由您設置)是否更改您給它的任何svn路徑。然後它可以運行一個shell腳本(我們正在爲iPhone構建,所以使用xcodebuild,但是您可以使用任何用於ASP.net的腳本)。然後我們將這個結果上傳到我們的本地服務器$REVISION。在這裏運行自動化測試也很容易。

0

既然你問TFS:

我們使用的是CommonAssemblyInfo遞增DLL的版本。 Nightly Builds通常來自後備箱。

我們有一個主文件夾,用於當前版本的「開發」文件夾分支。我們從當前的開發分支和手冊開始每晚構建,一旦我們將Dev-stuff合併到Main中,所謂的引用構建。 構建是通過構建代理的東西來定義的。像增加版本號的自定義任務通過MSBuild進入遊戲。