持續整合 2.0
根據「百度百科」的定義
持續整合是一種軟體開發實踐,即團隊開發成員經常整合他們的工作,通常每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,釋出,自動化測試)來驗證,從而儘早地發現整合錯誤。
重點
編輯
→ 釋出
→ 自動化測試
常見的 CI 軟體工具或平臺主要覆蓋這三個階段
變化
如今敏捷開發的「興起」,很大程度上對於持續整合這個模式提出了更高的要求,倘若仍舊停留在 編譯、釋出、自動化驗證 這三個階段,對於敏捷而言,只是做到了 區域性 敏捷,而不是專案/產品敏捷。
因此,要達到真正的 專案/產品敏捷 ,至少要包含以下幾階段:
需求管理
→ 編碼
→ 單元測試
→ 程式碼掃描
→ 編譯
→ 釋出
→ 自動化測試
→ 質量評估
解決方案
有人期望用 JIRA/禪道 這樣的工具來完成 需求、缺陷、測試用例 的集中式管理,只能說效果一般般,並且 TA 無法解決全階段的覆蓋。
有人期望用 Jenkins 這樣的工具來完成 單元測試、程式碼掃描、編譯、釋出、自動化測試,但 TA 完成的只是持續整合中的很小的幾個階段,不用覺得包含了 5 個階段,就獲得了整個 CI,其實差得還很遠。
技術層面能解決的,一定是金字塔的最底層。
金字塔中端和頂端的那些,很大程度上僅靠技術是無法解決的,更多的需要經驗的傳承。
把經驗抽象成解決方案,是 持續整合 2.0 的突破點。
拋開工具看本質,當我們不再依賴工具,思考如何徒手解決這些階段,可能會有不一樣的收貨。
很多 DevOps 平臺對於業務而言,比 Jenkins 的流水線更友好,有些加入了組織許可權流程的設計,使其不僅僅是個 CI 工具,但仍舊無法覆蓋 持續整合 2.0 的所有階段。即使現在已有的平臺都覆蓋全了,也未必實現真正的 持續整合 2.0,因為TA們只提供了技術的解決方案。
而真正的 持續整合 2.0 需要提供一個會思考、會判斷的指導。
相關文章
- 持續整合、持續交付與持續部署
- 持續整合、持續部署、持續交付、持續釋出
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- Jenkins持續整合Jenkins
- 持續整合(二)
- 你真的懂持續整合、持續交付、持續部署嗎?!
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 3分鐘瞭解清楚持續整合、持續交付、持續部署
- Jenkins持續整合配置Jenkins
- CircleCI 與持續整合
- Taro 小程式持續整合
- AspNetCore&Coding持續整合NetCore
- 什麼是持續整合?
- 持續整合 Jenkins 簡介Jenkins
- 持續整合配置之Nuget
- jenkins+docker 持續整合JenkinsDocker
- 持續整合Jenkins+GitlabJenkinsGitlab
- Jenkins 持續整合使用教程Jenkins
- 淺談持續整合的理解以及實現持續整合,需要做什麼?
- 使用流水線外掛實現持續整合、持續部署
- 如何快速搭建一個有域名且持續整合的hexo部落格(2.0版)Hexo
- Jenkens+Docker+Git 持續整合DockerGit
- Flutter web 持續整合實踐FlutterWeb
- GitLab CI持續整合-GitLab RunnerGitlab
- Linux下搭建Jenkins持續整合LinuxJenkins
- 小程式的持續整合方案
- CI 持續整合 - 阿里云云效阿里
- iOS持續整合(一)——fastlane 使用iOSAST
- SAP開源的持續整合-持續交付的解決方案
- 以 egg.js 為例的持續整合(CI)、持續部署(CD)JS
- Artifactory & GitLab CI持續整合實踐Gitlab
- Linux 核心的持續整合測試Linux
- 微服務容器部署與持續整合微服務
- CI/CD 持續整合部署實踐
- RF+Jenkins構建持續整合Jenkins
- iOS使用fastlane實現持續整合iOSAST
- ick:一個持續整合系統