你如何定義持續集成/持續部署管道取決于你組織的要求。
持續集成continuousintegration/持續部署continuousdeployment(CI/CD)管道是每個DevOps計劃的基礎。CI/CD管道打破了傳統的開發孤島,使開發和運營團隊能夠在整個軟件開發生命周期中進行協作。
更好的是,轉向DevOps和CI/CD管道可以幫助你的組織以更高的速度更安全地交付軟件。
拆解CI/CD管道CI/CD管道有很多定義,所以我總是建議組織定義自己的CI/CD管道版本和其他DevOps概念,而不是使用其他人的。開源CI/CD工具為你提供構建滿足組織要求的CI/CD管道的自由和選擇。
形成CI/CD管道的階段是將不同的任務子集分組為管道階段。典型的管道階段包括:
構建:開發人員編譯應用程序代碼。測試:質量保證(QA)團隊使用自動化測試工具和策略測試應用程序代碼。發布:開發團隊將應用程序代碼交付到代碼庫。部署:DevOps團隊將應用程序代碼分階段投入生產。安全性和合規性:QA團隊根據項目要求驗證構建。這是組織部署容器掃描工具的階段,這些工具根據常見漏洞和暴露CommonVulnerabilitiesandExposures(CVE)檢查容器鏡像的質量。這些是CI/CD管道的標準階段,但一些組織調整CI/CD管道模型以滿足他們的要求。例如,為醫療保健市場構建應用程序的組織,具有嚴格的合規性標準,可以在整個工具鏈中分發測試、驗證和合規性門檻。
其他示例可能是依賴于具有開源軟件(OSS)的復雜軟件供應鏈的組織。商業組件可能會設立一個門檻,開發團隊成員可以在其中為OSS包生成軟件物料清單softwarebillofmaterials(SBOM),或者外部商業軟件供應商必須將SBOM作為其合同可交付成果的一部分進行交付。
CI/CD管道的障礙實施CI/CD管道會改變團隊的流程和文化。盡管許多開發人員愿意接受某些任務和測試的自動化,但人員可能成為采用CI/CD的障礙。
從瀑布式流程轉向CI/CD可能會動搖某些組織中基本的和隱含的權力結構。由于CI/CD管道提高了軟件交付速度,舊手動流程的“守門人”可能會受到這種變化的威脅。
整合機會隨著你在文化、流程和工具中達到更高的DevOps成熟度水平,包含CI/CD工具鏈的工具的開源根源為一些激動人心的集成創造了機會。
分析公司Forrester在2020年預測,即時學習just-in-timelearning將加入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
作者:WillKelly選題:lujun9972譯者:baddate校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出