1.1 持續集成、持續交付 介紹
參考博客:https://www.cnblogs.com/cay83/p/8856231.html
1、傳統交付
1. 傳統軟件的開發與交付的周期都很漫長,從需求的分析、系統的設計、編寫測試用例、系統開發、單元測試、組裝測試到交付調試。
2. 每一次交付、升級,都需要提供基礎的硬件、軟件的環境、軟件的代碼、軟件的文檔與手冊。
3. 工程師都按照之前預演過好多遍的流程,對照着系統的部署手冊,一步一步的組裝硬件,安裝軟件,稍有差池,就要按照對應的應急預案進行回滾。
2、技術工程師日常 與 痛點
1)立項,建代碼庫,申請資源,拉分支寫代碼,聯調測試,發布到線上,設置監控點,質效分析和總結等等
2)這些活動存在於不同的平台,每天在不停的重復,需要不停的和各個團隊溝通,不停的做研發平台和技術棧的切換
3)所以我們又回到持續交付的一個原則,如果有一件事讓你感覺到痛苦,那么就盡早實現自動化。
4)梳理出規范化的玩法,采用自動化的高效手段,用技術去解決這些讓我們感覺頭疼的問題。
3、CI 持續集成 與 CD持續交付
注:CI/CD關注的是開發完成到成功部署這一階段
持續集成(Continuous Integration,CI): 代碼合並、構建、部署、測試都在一起,不斷地執行這個過程,並對結果反饋(主要產出是一個鏡像)
持續部署(Continuous Deployment,CD):加將產品部署到 測試環境、預生產環境、生產環境
持續交付(Continuous Delivery,CD): 將最終產品發布到生產環境,給用戶使用
4、產品線發布流程
5、國內一些公司開發的輪子
阿里雲效/codepipeline:https://www.aliyun.com/product/codepipeline
百度效率雲:https://xiaolvyun.baidu.com/
普元devops平台:http://www.primeton.com/products/devops/
1111111111111111