持续集成:部署发布篇
隨時隨地發布軟件
提交出用戶滿意的、高質量的工作軟件是研發的終極目標,能夠隨時隨地提供可工作的軟件,不僅減輕“終極構建”發行噩夢在開發同學心中的陰影,也有助于項目經理把控版本發布節奏。
那么,持續部署和發布在持續集成中應該如何執行呢?
典型的部署工作由以下部分組成:
1)為庫中的資產打上標簽
2)得到干凈的環境,避免不當的假定
3)直接從版本控制庫中取出軟件,生成構建版并為他提供標簽,在目標機器上安裝
5)在生產環境的克隆環境中成功地執行所有級別測試
6)創建構建反饋報告
7)可以利用版本控制庫中的標簽回滾構建版
通過上述步驟,可通過執行完全自動化的構建,包括編譯、所有測試、審查、打包和部署,在所有已知環境隨時發布能工作的軟件。
為庫中資產打標簽
創建版本控制庫的標簽有利于標識并追蹤資產,清楚地說明一組文件是在一起的。標簽使我們可追蹤一組文件的歷史,而不僅僅是單個文件歷史。
通過及時創建快照,可以使新版本代碼的過渡更順利。打標簽可以采取不同風格,最簡單的命名格式為:
主版本號“_”(或“.”)次版本號(如2_89 、2.89)
得到干凈的環境
在一個環境中試圖部署軟件,發現環境中操作系統、數據庫或服務器版本不一樣,是一件令人很頭疼的事情。
想要得到一個干凈的環境要刪除并重裝軟件、執行腳本并配置值,確保環境按照期望地去工作。刪除機器上所有軟件后重新安裝的內容有:
1)操作系統
2)操作系統的配置,網絡連接、用戶、防火墻等
3)軟件所需的服務組件,應用服務器、數據庫服務器、消息服務器等
4)服務器配置
5)第三方工具
6)定制的軟件
有可能只需要刪除上述其中一個內容,刪除并重裝多少內容取決于對風險級別的要求。這個過程自動化程度越高越好。
每個構建版本打標簽
為每一個構建版創建唯一的標識符,即“構建版標簽”,為二進制制品打上標簽:
1)版本控制庫中的代碼需要一個標簽
2)代碼的構建動作需要一個標簽
這些構建標簽讓大家知道在特定環境下使用了什么版本的代碼,通過這些構建標簽,缺陷、功能和新需求都可以用這一份代碼作為依據。
執行所有測試
在持續構建過程中,可能只需要執行部分測試,但在打包部署前必須執行所有測試并通過。包括:單元測試、組件測試、系統測試、功能測試、性能測試、負載測試及其他類型測試,確保軟件已準備好交付。
除了自動化測試外,還需要由人來進行測試,因為產品的最終用戶是人。
所有測試審查執行完成后,需要生成自動化構建的反饋信息表,包括本次構建版中哪些文件不同、修復了哪些缺陷、實現了哪些功能,讓大家理解將要發布的構建版的確切情況。
需要有的報告應當有:文件差異報告、缺陷修復報告等,這些報告可能對QA團隊有所幫助。
可回滾構建過程
能夠“撤銷”部署是有效開發中的重要一環。出現問題的可能性總是存在的,所以要利用構建標簽來回滾那些不該提交到版本控制庫的變更。
實踐自檢
1)系統擁有回滾能力嗎?
2)對候選發行版是否有完整自動化+人工測試流程?
3)是否能為不同環境配置部署,在克隆用戶環境的干凈計算機正確安裝并運行軟件?
4)部署發布是否能提供反饋報告?是否有缺陷追蹤系統?
5)是否能從版本控制庫中取出所有軟件資產并構建部署?
轉載于:https://juejin.im/post/5cbf0920f265da039a3d70df
總結
以上是生活随笔為你收集整理的持续集成:部署发布篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs编译obj给delphi用
- 下一篇: 浅谈:Wi-Fi 6的优势及应用前景