CI/CD 管道是什麼?
持續集成 / 持續部署 (CI/CD)管道是每個 DevOps 計劃的基礎。 CI/CD 管道打破了傳統的開發孤島,使開發和運營團隊能夠在整個軟體開發生命周期中進行協作。
更好的是,轉向 DevOps 和 CI/CD 管道可以幫助你的組織以更高的速度更安全地 交付軟體。
拆解 CI/CD 管道
CI/CD 管道有很多定義,所以我總是建議組織定義自己的 CI/CD 管道版本和其他 DevOps 概念,而不是使用其他人的。開源 CI/CD 工具為你提供構建滿足組織要求的 CI/CD 管道的自由和選擇。
形成 CI/CD 管道的階段是將不同的任務子集分組為 管道階段。典型的管道階段包括:
- 構建:開發人員編譯應用程序代碼。
- 測試:質量保證(QA)團隊使用自動化測試工具和策略測試應用程序代碼。
- 發布:開發團隊將應用程序代碼交付到代碼庫。
- 部署:DevOps 團隊將應用程序代碼分階段投入生產。
- 安全性和合規性:QA 團隊根據項目要求驗證構建。這是組織部署容器掃描工具的階段,這些工具根據 常見漏洞和暴露 (CVE)檢查容器鏡像的質量。
這些是 CI/CD 管道的標準階段,但一些組織調整 CI/CD 管道模型以滿足他們的要求。例如,為醫療保健市場構建應用程序的組織,具有嚴格的合規性標準,可以在整個工具鏈中分發測試、驗證和合規性門檻。
其他示例可能是依賴於具有開源軟體(OSS)的複雜軟體供應鏈的組織。商業組件可能會設立一個門檻,開發團隊成員可以在其中為 OSS 包生成 軟體物料清單 (SBOM),或者外部商業軟體供應商必須將 SBOM 作為其合同可交付成果的一部分進行交付。
CI/CD 管道的障礙
實施 CI/CD 管道會改變團隊的流程和文化。儘管許多開發人員願意接受某些任務和測試的自動化,但人員可能成為採用 CI/CD 的障礙。
從瀑布式流程轉向 CI/CD 可能會動搖某些組織中基本的和隱含的權力結構。由於 CI/CD 管道提高了軟體交付速度,舊手動流程的「守門人」可能會受到這種變化的威脅。
整合機會
隨著你在文化、流程和工具中達到更高的 DevOps 成熟度水平,包含 CI/CD 工具鏈的工具的開源根源為一些激動人心的集成創造了機會。
分析公司 Forrester 在 2020 年預測, 即時學習 將加入 CI/CD 管道。如果你考慮一下,會發現這是有道理的。在當前遠程工作的時代,甚至對於新員工的遠程入職,這更有意義。例如,組織可以將文檔 wiki 與內部流程文檔集成到其管道中。
更雄心勃勃的組織可以將學習管理系統(LMS)(例如 Moodle)集成到其 CI/CD 管道中。它可以使用 LMS 發布有關新 DevOps 工具鏈功能的簡短視頻,開發人員在加入時或在整個管道中更新工具時需要學習這些功能。
一些組織正在將群聊和其他協作工具直接集成到他們的 CI/CD 管道中。聊天平台提供警報並支持團隊之間的協作和溝通。將 Mattermost、Rocket.Chat 或其他 企業聊天 平台集成到你的 CI/CD 管道中需要預先規劃和分析,以確保管道用戶不會被警報淹沒。
另一個需要探索的集成機會是將分析和高級報告構建到你的 CI/CD 管道中。這有助於你利用通過管道傳輸的數據。
總結
CI/CD 管道是 DevOps 的基礎。開源使其能夠適應並靈活地滿足你在 DevOps 之旅中實施的運營變更所產生的新需求。
我希望看到對統一 DevOps 平台趨勢的開源響應,在這種趨勢中,組織尋求端到端的 CI/CD 解決方案。這種解決方案的要素就在那裡。畢竟,GitLab 和 GitHub 將他們的平台追溯到開源根源。
最後,不要忘記每一個成功的 CI/CD 工具鏈背後的教育和外展。記錄你的工具鏈和相關流程將改善開發人員入職和持續的 DevOps 團隊培訓。
你和你的組織如何定義你的 CI/CD 工具鏈?請在評論中分享你的反饋。
via: https://opensource.com/article/21/6/what-cicd-pipeline
作者:Will Kelly 選題:lujun9972 譯者:baddate 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive