我的經理要求爲我們的項目設置構建自動化。我決定使用CruiseControl.Net作爲我們的持續集成服務器,因爲其他一些團隊成員對此有一些經驗,但我沒有 - 這就是爲什麼我很樂意執行此任務。使用CruiseControl.Net構建一個已加標籤的項目
我們使用Subversion作爲我們的存儲庫,最終目標是在每次標記項目時實例化構建。因此,例如:
添加一個文件夾的svn:// SVN /標籤/ projectX創建/例如svn:// SVN /標籤/ projectX創建/ JulyCheckPoint 應籤新添加的標記(SVN:// SVN /標籤/ ProjectX/JulyCheckPoint)並運行一個nant文件(D:\ temp \ tags \ ProjectX \ JulyCheckPoint \ nant.build)
我知道CruiseControl是能夠監視svn:// svn/tags/ProjectX /進行更改,但我不確定如何將最新標記簽出到構建服務器的本地磁盤,並在內部運行nant.build,如果我不知道最近標籤的名稱。我做了一些Google搜索,並相信svn post-commit掛鉤可能是我應該研究的內容。
我希望這一切都有道理,請讓我知道,如果你需要進一步的細節/澄清。任何指導/意見將不勝感激。
乾杯。
謝謝,我一定會看看那篇文章。我想到的下一步就是每晚實施幹線建設(爲了您提到的目的)。 最終,通過從標籤構建,我希望構建標記的構建管理器/開發人員能夠獲得包含標記項目的.msi安裝包(查看WiX)。這樣,我們所達到的任何里程碑都可以通過簡單地標記特定版本來構建到發行版安裝中。他們有什麼缺點,我忽略了嗎? – Boris 2009-07-16 00:29:50
這聽起來像是一個合理的請求,但它並不適合CC.Net的工作方式。 在這種情況下,我會建議有第二個CC.Net項目稱爲發佈版本,由管理員運行。這個版本將創建MSI,然後標記主幹。如果需要修改標記的代碼,則可以分支並創建一個新的CC.Net項目以從該分支構建。 這是一個非常簡單的概述,但希望能給你一些想法,讓你開始。 – MikeD 2009-07-16 11:02:28