NightlyBuild每日構建
每日構建(Nightly Build,也叫Daily Build), 是將一個軟體專案的所有最新程式碼取出,從頭開始編譯,連結,執行測試軟體包對程式碼進行單元測試並對主要功能進行測試,發現錯誤並報告錯誤的完整過程.每日構建是連續整合的一個最佳實踐,它要求每天至少構建軟體一次.因為對於許多大型專案來說,每次構建花掉的時間可能高達幾個小時,在白天進行構建可能會消耗 過多的計算機資源,對開發造成一定的影響,所以許多大型專案的每日構建是在夜間無人工作或者人比較少的時候進行的.所以Daily Build就成了Nightly Build.
1 什麼是dailybuild
daily build 網上譯為"每日構建",可我更喜歡喊它為"每日整合".daily build 就是把一個軟體專案的所有的最新的程式碼從配置庫中取出,然後從頭進行編譯,連結和執行。更甚者可以再執行測試包對軟體的主要功能進行測試,發現並報告錯誤的整個過程。最常見的是前面的過程。daily build 一般是在每日下班後半夜進行,前提是員工check in 最新的code到配置庫中。所以可以把daily build 戲稱為 nightly build。然後在第二天上班事分析build 的log,找出error並mail給所屬模組負責人,敦促解決(如果這一步能自動完成就更完美了)。以至於員工清晨最開心的事情就是郵箱裡找不到integrator的錯誤報告。按照上面的解釋,daily build 譯為“每日構建”,是很合適的。但daily build 的另一個重要功能就是驗證軟體中各模組關係是否正確,“每日整合”也是合情合理。
2 為什麼dailybuild
以下是daily build 給我們帶來的好處:
縮小查詢bug範圍
當修改了一個bug,daily build可以很快給出一個最新修改後的版本,以供員工使用和測試人員進行測試
通過daily build,使build過程完全自動化,只要一條命令就完成系統的build
daily build使所有人員可以得到最新最好的系統的可執行檔案
3 如何dailybuild
daily build 一定要具備一下幾點:自動、頻繁、完整
自動:所有的步驟都有指令碼自動完成,從check out 程式碼,編譯,連結,到執行等等相關步驟都是自動執行而沒有人工干預,要自動得乾乾脆脆。要知道,daily build 又稱為nightly build,是一個深更半夜讓CPU 100%工作的過程。
頻繁:不一定是每天build的次數越多越好,但必須保證每日一次,daily要名副其實。
完整:所有的檔案都要先clea在build,而不是不完美的增量編譯。要build的徹徹底底。
4 處理dailybuild結果
一般是在第二天上班的時候,分析昨天的build log,找出error並報告給相應負責人。如果專案組有嚴格的bug管理,可以將發現的bug加入管理體系中,相關人員會很快收到bug報告mail。BTW:bug和錯誤mail讓你不得不埋頭工作:)
相關文章
- 每日構建 Daily buildAIUI
- 《軟體自動化測試成功之道》節選8 - 與每日構建結合
- 每日一練(43):同構字串字串
- 構建框架框架
- 構建之法
- AOSP構建
- docker構建Docker
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 構建自己的React UI元件庫: 構建首頁ReactUI元件
- 前端構建_webpack前端Web
- [Dockerfile構建映象]Docker
- DockerFile構建映象Docker
- BuildCastles(構建城堡)UIAST
- ## 建構函式函式
- docker構建映象Docker
- 構建Recyclerview DSLView
- Dockerfile構建MySQLDockerMySql
- 建構函式函式
- 構建之法08
- 構建之法09
- 構建之法02
- 構建之法04
- 構建之法11
- 構建之法13
- 如何構建微服務架構微服務架構
- 構建dubbo分散式平臺-maven構建根專案分散式Maven
- [譯] 建構函式已死,建構函式萬歲!函式
- Gradle 與 AGP 構建 API: 配置您的構建檔案GradleAPI
- laravel 使用schema構建器,新增構建表的列型別Laravel型別
- 前端構建大法Gulp系列(一):為什麼需要前端構建前端
- c# tcbs之建構函式呼叫建構函式示例C#函式
- CMake構建學習筆記8-OpenSceneGraph庫的構建筆記
- CMake構建學習筆記10-OsgQt庫的構建筆記QT
- CMake構建學習筆記13-opencv庫的構建筆記OpenCV
- HongHu雲架構 - maven的構建架構Maven
- 構建Docker Image的五個建議Docker
- C++語言之結構體、類、建構函式、拷貝建構函式C++結構體函式
- 構建 API 應用API