每日構建
外觀
此條目需要擴充。 (2018年7月12日) |
每日構建(Daily build)或每夜構建(Nightly build)是在每天進行最新版本程序的構建流程。編譯首先可以確保所需依賴項的存在,其次可以進行測試確保無程序錯誤的存在。每日構建也通常被公開發布以接收對最新特性的反饋。在此語境中的構建一詞是編譯並鏈接所有構成程序的文件的結果。這種嚴謹流程在許多程序員為程序的同一部分編寫代碼的大型組織中極其重要。進行每日構建可確保開發者可以繼續工作並對在完成工作的最後一天出現的新程序錯誤有着一定了解。
每日構建通常包括一系列測試,有時被稱為冒煙測試(Smoke test)。包含這些測試是為了確定哪些特性在最新的構建版本中損壞。每日構建的重要一環是在項目發展中進行新測試與修訂測試。
持續整合構建
[編輯]雖然在20世紀90年代時,每日構建認為是軟件開發過程中的最佳實踐,但目前已有其他作法可以取代此方法。持續整合可在幾乎所有持續基礎上運行,且有着自源代碼最新更改後大約20到30分鐘的典型循環周期。諸如CruiseControl或Hudson一類的持續整合服務器持續監測源代碼控制系統。當檢測到新更改後,服務器將使用諸如Ant或Maven的構建工具重新構建。現代的最佳實踐中將它作為持續測試的一環,使得單元測試與更為廣泛的功能測試(相比構建過程需要更長實踐)得以在每次構建上按它期限所允許的頻率重新運行。
另請參閱
[編輯]- 中性構建(Neutral Build)
- 軟件發展中的發煙試驗
外部連結
[編輯]- 在Steve-McConnell的IEEE最佳軟件實踐 (頁面存檔備份,存於網際網路檔案館)
- Joel-on-software (頁面存檔備份,存於網際網路檔案館)
- Ubuntu每日構建,幾乎每天進行更新 (頁面存檔備份,存於網際網路檔案館)—詮釋每日構建的佳例