在以往的軟體研發
過程中,存在乙個比較嚴重的問題:測試版本發布周期長,嚴重時長達兩個月無法發布測試版本。為了有效解決這個問題,我在
主持開發
公司平台軟體
的過程中採用了現代軟體工程的每日構建。
這裡簡要介紹下公司平台軟體
。公司平台軟體不僅僅是作為公司的拳頭產品去銷售,而且需要提供sdk供專案部同事去做系統定製開發
。每日構建(daily builds)是指每天自動地在指定時間完整地構建整個軟體**。之所以採用每日構建,最初的目的是盡量將原始碼編譯過程和初步的**質量檢查都交給機器完成,
從而達到
減少人力
提交效率的目的
。在軟體開發流程中引入每日構建,具體來說包括如下幾步:每日構建工具選擇、工具安裝和每日構建流程的設計和執行。
要執行每日構建,需要選擇合適的工具。在工具的選擇上,我們主要基於兩點考慮:一是盡量降低成本;二是能夠獲得足夠的技術支援。因此,在選擇每日構建工具時,我們主要考慮開源的、在業界廣泛使用的並能和現有的開發環境配合使用的工具,為此我們選擇了業界著名的開源每日構建工具
hudson。
然後就是部署每日構建工具
hudson。一般來說,要執行每日構建需要專門的每日構建伺服器。最開始由於缺乏專門的每日構建伺服器,我們把
hudson
部署在原始碼伺服器上。
接著的關鍵一步是設計每日構建流程。常見的簡單的每日構建流程主要是在指定的時間獲取伺服器的**,編譯**和將編譯好的二進位制檔案拷貝到指定發布目錄。但在每日構建的實踐過程中,我們發現需要針對這一流程進行完善。完善後的每日構建流程如下圖所示。
圖1 每日構建流程圖
公司平台軟體
的每日構建流程的執行時間設定在每天凌晨
12:30
開始執行。一般來說,如果原始碼編譯順利,測試人員在第二天上班後就可在版本發布目錄中拿到軟體的最新測試版本並開始測試。
從2023年開始執行每日構建,
公司平台軟體
的每日構建流程已經持續執行了將近四年。總結這四年的執**況,
公司平台軟體
每日構建基本上達到了預期目標,大大提高了測試版本的發布頻率,以前兩個月無法發布乙個測試版本的情況一去不復返。通過每日構建,也暴露出了兩個突出問題:一是一些同事因為粗心忘記提交一些**而導致每日構建失敗;二是即使每日構建成功,有時發布的軟體版本也不能完全滿足測試的要求,比如有時發布的軟體無法執行導致軟體無法測試。暴露出來的問題也促使我們反思軟體開發過程中存在的問題。
針對每日構建中出現的問題,我們認為每日構建不僅可以是乙個軟體編譯流程,而且也可以是乙個軟體質量檢查工具,因此
公司平台軟體
每日構建流程還有比較大的完善空間。在每日構建流程的後續完善中,可以考慮在流程前面增加**靜態質量檢查,在流程後面增加編譯後的軟體質量檢查。具體的完善流程如下圖所示。
圖2 每日構建完善流程圖
上述流程涵括了
軟體質量的兩方面檢查:一是**質量檢查;二是功能質量
檢查。功能質量檢查的目的主要是:一、保證軟體是無毒的;二、保證軟體的基本可測性,即發布的軟體測試版本不是那種無法執行的或者一點就崩潰的軟體版本。
軟體平台構建
mplab c for pic18 v3.35 upgrade version的安裝程式到microchip的 有 破解程式乙個,對v3.35有效 原理是建立假檔案,騙過c18 upgrade version的安裝程式 先執行執行破解程式,選擇c18即將要安裝的路徑後按儲存 之後直接執行c18 up...
Daily Build (每日構建)
在說每日構建之前需要先說乙個軟體 cruisecontrol.net,它是乙個將vss msbuild nuint fxcop等軟體連線起來的自動化構建平台。下來簡稱其為cc.net,整個的流程如下圖所示 今天配置了cc.net,以前一直是用vss進行源 管理,nunit進行單元測試,並沒有任何版本...
每日構建 三
這前的兩篇每日構建,寫的簡單了點,這裡在之前的基礎上做些改進,使得更加容易管理和配置。每日構建改進一 build檔案的共享。在進行每日構建時,對於複製檔案這部分功能我採用的是nant,nant最核心的部分是build檔案,一般乙個大型 有時分好多個解決方案,例如酒店專案,機票專案等等,所以對應不同的...