團隊或多模組開發時,需依賴尚未完成的模組版本,稱為整合版本,主要目標是與其他模組整合以建構或測試應用/框架。若遵循持續整合規範,這些版本可由 CI 伺服器頻繁產生。
通常推薦第二種方式,因為每次發布用新版本名稱更符合版本身份規範,且能使所有建構可重現(甚至整合版本)。在建構系統中引入機制將整合建構提升至更穩定狀態(如里程碑或發布)。
情境:客戶週一要求最新版本測試/演示。若有良好 CI 與變更追蹤,可快速滿足。但若最新版剛好破壞功能,可能需交付幾天前的「穩定」整合建構。若客戶稍後要求該演示版本的修復,若倉庫有建構版本提升功能,將易於處理:客戶要求時不僅交付整合建構,也提升至里程碑狀態,表示長期追蹤並可建立分支。
Ivy 本身不負責可重現建構(它是依賴管理器非建構工具),但若用不同名稱發布唯一版本,並在發布過程使用版本約束替換等特性,將非常有幫助。缺點是會產生大量中間版本,需在倉庫執行清理腳本。
Ivy 1.4 允許無 ivy 檔案解析依賴,稱為「內聯」。
建構與依賴管理常被忽視。開發人員有空時才處理建構管理,短期或省時省錢,長期通常是極差選擇。建構軟體非簡單任務,尤其要保證自動化、測試過、完全可重現的建構、發布和安裝。一旦良好的建構系統安裝好,僅需極少懂行的人即可持續品質保證。因此僱用建構與依賴專家分析改進系統在大多數情況是極佳選擇。
最佳實踐反映自身經驗,非唯一真理。請在頁面評論增加經驗回饋、建議或主張。