早些時候我們
故事
持續交付一詞可以追溯到
2010 年,Jez Humble 和 David Farley 發行
該書出版後,這種方法開始流行,並在短短幾年內幾乎被普遍接受。 根據
現在這種方法仍然是最受歡迎的方法之一。 根據 2018 年 IT 社群 DevOps 和 Jenkins 社群參與的研究,
持續交付如何運作?
CD 基礎是程式碼部署的準備。 為了完成此任務,使用了準備軟體發布流程的自動化。 它應該是跨不同開發環境的標準,這將有助於快速找到弱點並進行最佳化。 例如,加快測試速度。
持續交付流程的範例如下所示:
如果持續整合方法負責前兩個階段的自動化,那麼持續交付則負責後兩個階段。 除此之外,透過系統確保製程穩定性
對該過程提出以下要求:
- 有關準備進入生產環境和準備立即發布的信息的可用性(CD 工具測試代碼並可以評估發布中更改的效果)。
- 對最終產品全面負責。 產品團隊 - 經理、開發人員、測試人員 - 考慮結果,而不僅僅是他們的職責範圍(結果是可供產品使用者使用的工作版本)。
在 CD 中通常使用
有什麼好處
持續交付有助於簡化程式碼部署,這對生產力產生積極影響並降低員工倦怠的可能性。 最終,這降低了整體開發成本。 例如,CD 幫助了 HP 團隊之一
此外,根據 2016 年的一項研究(第 28 頁)
另一個優點是發布速度加快。 芬蘭開發工作室的持續交付
潛在的困難
第一個也是主要的問題是需要重建熟悉的流程。 為了展示新方法的好處,值得逐漸切換到 CD,而不是從勞動密集型應用程式開始。
第二個潛在問題是大量的程式碼分支。 「分支」的後果是衝突頻繁,進一步浪費大量時間。 可能的解決方案 - 方法
特別是,在一些公司中,主要的困難是測試 - 需要太多的時間。 測試結果通常必須手動分析,但可能的解決方案可能是在 CD 實施的早期階段並行化測試。
您還應該培訓員工使用新工具 - 初步教育計畫將節省開發人員的精力和時間。
工具
以下是一些持續交付的開放工具:
光碟 — 用於 Java 和 JRuby on Rails 持續交付的伺服器。 允許您控制整個應用程式交付過程:建置-測試-發布。 該工具根據 Apache 2.0 許可證分發。 你可以在官方網站上找到它設定指南 .Capistrano的 — 用於建立腳本的框架,可自動部署 Ruby、Java 或 PHP 中的應用程式。 Capistrano 能夠透過 SSH 連接到遠端電腦來執行命令。 與其他持續整合和交付工具配合使用,例如 Integrity CI 伺服器。搖籃 是一個多平台工具,可以自動化整個應用程式開發週期。 Gradle 可與 Java、Python、C/C++、Scala 等配合使用。與 Eclipse、IntelliJ 和 Jenkins 整合。無人機 - Go語言的CD平台。 無人機可以部署在本地或雲端。 該工具建構在容器之上,並使用 YAML 檔案來管理它們。三角帆 — 多雲系統中持續代碼交付的平台。 該工具由 Netflix 開發,Google工程師在該工具的開發過程中發揮了重要作用。 安裝說明在官方網站上找到它 .
在我們的企業部落格上閱讀什麼:
來源: www.habr.com