概述:這篇文章描述了一個命令行工具的創建,這個工具從存儲在Microsoft Visual Studio Team Foundation Server的代碼中生成每晚構建。
介紹
執行一個每晚構建是在每天的基礎上在一個可執行的窗體中建立一個應用程序的過程。公共的每晚構建是一個強大的指示器,團隊使用這個指示器積極的顯示進度。它也是一種使產品和進度在項目組中可見和可用的一種方式。每晚構建是開發過程的關鍵。像以前提到的,每晚構建的一個很大的優勢就是對于每個需要評估項目進度的人來說,它是可以使用的。它是一個進度的指示器,因為它確定了產品作為一個整體是向前發展的,而不是作為每一個單獨的部分。在團隊中,單獨的每個人是不可能成功的,但他們作為一個開發團隊才能獲得成功。通過整體的查看產品,不為解釋留下余地的方式,構建提供了團隊和產品進度的權威性狀態。
每日構建的概念有好多益處,但是這些的基本就是在開發過程中它給予了產品生命周期。一個益處就是將單獨的產品塊合在一起的操作。其他的包括:
- 將塊轉換成產品,它就會暴露出哪些部分不能正常的工作。
- 不能適合產品的塊將突出集成問題。
- 構建他們的塊到產品中將強迫團隊成員同步他們的成就。
- 第二個益處就是將產品塊合在一起。
- 團隊可以使用這個可測試的實體決定產品的狀態和質量。
- 當他們看到產品有一個生命周期時,團隊和客戶的士氣就會提高。
- 第三個好處就是團隊將這些塊合在一起的頻率是多少。
- 很容易發現每晚構建中的缺點的來源,因為它跟以前的努力和成就有關系。
- 頻繁的同步意味著團隊成員不會輕易的放棄同步。
嘗試一個每晚測試并不夠。如果構建被打破,團隊必須停下來而去更改它。不去修改意味著團隊將傳播這些過失到將來的構建中,基于這些過失開發出當前代碼。所以,整個團隊必須認真對待構建的健康程度。
更重要的,無論合事都要保持構建。團隊不應該以后在開發周期內讓壓力勸止做每晚構建。團隊所處的壓力越大,它就更需要每晚構建提供的益處。
使用Team Foundation Server的每晚構建
使用Microsoft Team Foundation Server的開發團隊能夠在Team Server中獲得構建功能的益處來在一個規劃或者自動的情況下執行這些構建。在發布的Team Server Beta 2中,微軟包含了一個BuildController Web service,它能被調用來從一個計劃的程序中開始一個構建。
每晚構建包括了一些有序的步驟,當成功后結果將出現在每日交付使用的集合中。這些步驟包括從源控制提供者那里獲得最新的軟件版本,編譯代碼,標注來源,運行基本測試,然后公布二進制和構建過程的結果。每晚構建過程允許所有的團隊成員在代碼的當前質量水平上保持齊頭并進,給予開發人員在正常的工作狀態下維護他們的代碼。這將產生代碼能被集成到以前的開發周期中然后生成更好質量的代碼這樣的結果。
目標
每晚構建過程的設計目標就是:
- 對于構建產品最新版本,提供了一個自動的機制。
- 提供了一種來自任何一天,產品任何版本的構建存檔的能力。
- 使開發團隊有最小的影響。
步驟
每晚構建過程被分為五個主要的階段:
- 從源控制中恢復。
- 構建項目(編譯)。
- 單元測試的執行。
- 共享構建結果。
- 報告構建結果和方式。
幸運的,所有這五個步驟可以通過構建腳本配置在Team Foundation Server中輕松的被自動化。通過在Team Server中完成”New Build Type”向導創建完一個新的構建類型后,它就像調用構建控制器Web service執行這個構建一樣簡單。下面是一個示例程序,它能夠在計劃任務中被配置執行每晚構建。
為了使用這個程序,在Microsoft Visual Studio.NET 2005中打開NightlyBuild.sln文件,然后編譯項目。這個程序需要運行的機器上安裝.NET Framework 2.0。要計劃一個構建,復制程序和配置文件到它應該被執行的位置上,然后在“控制面板->計劃任務->添加計劃任務”中添加一個計劃任務。,當添加計劃任務時,你么一指定構建運行的時間(一周的哪一天等等)。指定一個擁有構建權限執行程序和執行計劃的帳號,然后保存任務。在Windows幫助中查看“計劃任務概述”來得到更多在Windows中創建計劃任務的信息。
配置
NightlyBuild.exe程序可能使用一個配置文件,命令行參數或者這兩個來配置一個每晚構建把。默認的,程序將使用NightlyBuild.exe.config文件來存儲下面的設置。
表1。配置設置
應用程序配置文件
下面是文件中程序設置部分的示例。這些設置將在NightlyBuild.exe每次執行時作為默認的設置使用。
命令行參數
如果NightlyBuild.exe.config中的默認設置沒有被指定,或者你希望重載設置,配置設置可以在命令行中被指定。命令行參數可以在任何時候通過運行"NightlyBuild.exe /?"顯示出來。
文章來源于領測軟件測試網 http://www.kjueaiud.com/