Continue Integration and Continue Delivery

(只提供繁体中文版本)

CICD – Blog by John Chang

Continue Integration and Continue Delivery

目前許多軟體公司開發的方法皆採用敏捷式開發,敏捷式開發的優點是,在比較小且快速的循環中,持續驗證開發結果,以確保產品符合原始需求。例如著名的Scrum即是一種敏捷式開發。要完成這種開發模式,需要很多自動化的工具,而持續整合與持續交付就是一個關鍵的過程。

持續整合的目的是:針對軟體系統每個變動,能持續且自動的進行驗證,驗證可能包含了建置、測試、程式碼分析等等工作。驗證完之後,就能進一步的部署及發佈,透過此流程可以確保軟體品質,不會因為一個錯誤變動而造成軟體崩潰。

CI最著名的工具是Jenkins,它的功能完整,且提供需多plugin可以使用,目前對於容器的整合也趨於完。對於CI/CD而言,一個source control management是必要的,目前業界最知名的是GitHub,但如果需要private repo則必須付費,免費的則有GitLab, BitBucket可供選擇。一般而言,CI/CD的狀態可透過slack自動化串接並通知相關人員,Telegram或是Hipchat也是不錯的選擇。

透過CI/CD ,將原本一件大的事情拆成許多小的循環完成,不僅較有效率也不會在最後整合的時候爆出一堆問題,增加debug的複雜度。

Posted in ICG日志.