我對CC .NET相當陌生,但之前在不同的環境(而不是C#)中使用過其他構建工具。我的問題是,當我選擇NAnt作爲構建工具(用於構建腳本)& NUnit作爲測試工具(用於測試)時,CC .NET是否使用配置中指定的參數爲這些工具執行命令行文件?Cruise Control .NET如何使用構建/測試工具?
例如,我爲我的構建腳本安裝了NAnt,CC .NET是否會在NAnt目錄中執行NAnt.exe以構建項目或者是否通過「其他方式」來執行該項目?
謝謝。
我對CC .NET相當陌生,但之前在不同的環境(而不是C#)中使用過其他構建工具。我的問題是,當我選擇NAnt作爲構建工具(用於構建腳本)& NUnit作爲測試工具(用於測試)時,CC .NET是否使用配置中指定的參數爲這些工具執行命令行文件?Cruise Control .NET如何使用構建/測試工具?
例如,我爲我的構建腳本安裝了NAnt,CC .NET是否會在NAnt目錄中執行NAnt.exe以構建項目或者是否通過「其他方式」來執行該項目?
謝謝。
CC.NET在菜單系統中有一些現有的「Xsl插件」。
讓我們以NUnit爲例。
那麼,如果您從項目構建的CC.NET網頁上單擊NUnit結果,您將看不到任何東西(開箱即用)。
爲什麼? 因爲在包含關於構建的所有信息的「super-duper」xml文件中沒有NUnit xml數據。
那麼它是如何到達那裏的?
一種方法是運行NUNit命令行,它將創建一個輸出xml文件。
NUnit.2.5.3.exe (bunch of stuff) NUnitResults.xml
(以上不工作的代碼,只是在這一點上的概念,請滾),所以上面的命令行會創建文件NUnitResults.xml。 但即使你這樣做了,這個信息也不在「super-duper」xml文件中。
CC.NET有一個「文件/合併」任務,它將採用一個獨立的xml文件,並將其「吸入」超級XML文件。
此文件合併發生後,NOW將Nunit數據放入super-duper-xml文件,現在當您單擊CC.NET項目/生成頁面上的NUnit鏈接時,將會出現NUnit xml -data在super-duper.xml文件中,而xsl轉換實際上會做些什麼,並在你的cc.net項目/編譯頁面上創建一些html輸出。
這有道理嗎?
這裏是「需要一些獨立的XML和它吸進超duper.xml文件」 cc.net任務:
http://confluence.public.thoughtworks.org/display/CCNET/File+Merge+Task
這裏是NUnit的CC.NET任務。現在,您不必使用CC.NET任務。您也可以(以及我這樣做的方式)在構建腳本中連接EXEC任務,並且該任務創建NUnit.xml數據。也就是說,有幾種方法可以使貓變白。但是,如果採用不同的方式,我通常會遠離專有的cc.net任務。爲什麼?因爲如果我從cc.net移動到例如tfs,我的轉換將不那麼痛苦。
http://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+NUnit
非常有幫助的答案,謝謝。 – mitchellt
現在我的首選是使用MsBuild.exe來構建我的代碼。另外,我嘗試將CC.NET視爲「超級超級,超酷的MsBuild.exe調用者」.........我在99builder(.proj)文件中寫入了99%的邏輯。 CC.NET基本上從源代碼控制獲取代碼。調用「msbuild.exe mysolution.proj」,然後執行文件合併併發送一些電子郵件。保持cc.net「輕」恕我直言。祝你好運。 – granadaCoder
PS ...您也可以使用通配符執行文件合併。我使用「* Results.xml」,以及任何能夠生成.xml文件的「工具」,後綴爲「Results.xml」,而通配符「全部吸引」。 – granadaCoder
是否有你使用Nant over Msbuild的原因?自2.0以來,MsBuild.exe將是首選,恕我直言。當沒有其他選擇的時候,Nant對於1.1來說是很棒的。 – granadaCoder