持續交付,使用 Java
高品質地持續交付你的 Java 應用到正式環境
前言
持續交付已經為業界及整個軟體交付生命週期帶來巨大的價值,持續交付(CD)從根本上說是一套基於軟體交付團隊在短周期內生產功能完善的、有價值的軟體的實踐過程和解決方案。
在這本實用書籍中,二位作者透過部署一個 Java app 讓讀者可以掌握從整體的架構設計、軟體品質管理、應用程式包裝以及到最終的各種平台上進行部署的技巧。
關於軟體架構
在書的前面三個章節中,書中首先討論到軟體的持續交付以及良好的架構設計與商業上如何互相合作達到綜效,並且舉例了世界上的幾個大型軟體廠商的實際運作例子為佐證。
關於組建與部署
接著來到了第四章到第七章,主要講的內容來到了組建 Java app 的環境設置、建置過程以及一些其他常見或是要注意的設定內容。
先從挑選部署平台開始介紹起,書中只提了思考整個部署架構,我認為如果可也要把商業考量放進去,例如評選中的幾個架構所需的成本。
在書中特別提到幾個組建的過程中要預防產生依賴地獄,再來是挑選適當的組件工具:Maven, Ant, Gradle 等任你挑。
再來是每個 DevOps 人都要知道如何操作各大 OS 命令列的基本操作,最好是也會編寫腳本來減少手動所產生的失誤。
最後我們就探討到組建後的部署了,包含前面所提到的,決定如何打包 App 到哪個平台上,是在自建的平台上或雲端,都有不同的打包考量,在書中描寫的鉅細靡遺。
關於軟體品質管理
第八章到第十二章主要討論到了軟體品質保證的議題,從要做哪些測試,選擇怎麼樣的 CI Server 都有著詳細的解說,以及各家工具的優缺點比較。
軟體品管一直都是很大的學問,包含今天我們講的 CI/CD 以及很多的部署策略都圍繞在如何有良好的 TQM 意識。
在一個多人協作的軟體開發上,持續整合是一個非常重要的議題,如何在本地機器上進行測試,並提交到 repo 也是一個軟體團隊要一起考量的事情。
在完成整合之後,就是把東西部署到指定的機器環境上,並且進行功能驗收測試、以及驗證非功能的測試內容,在書中都有個非常仔細的講解。
持續交付
最後的三個章節討論到了持續交付,以及如何有效監控軟體的有效性以使軟體產品持續帶來商業價值。
我們完成了整合以及測試之後,等待將新功能部署到正式環境上,還得要持續追蹤是否有產生商業效益外,也要同時確保程式是持續在營運的,所以我們導入的軟體監控系統,收集很多軟體品質的資料後,進行調整,最後達到本書最一開始的目的:持續交付。
總結
這本書比較多講解的是將持續交付應用在 Java App 上,但是書中的觀念其實都可以應用在其他方面。如果你目前正在部署以 Java 來製作的 App ,這本《持續交付,使用 Java》能夠直接讓你快速上手,不妨直接購買一本《持續交付,使用 Java》來一步一步跟模仿學習吧!而且你也可以參考這本書的內容,以此為基礎來客製化並建構您的產品的持續交付過程。