本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CI/CD 貼圖測試:您的管道是完全 CI/CD 嗎?
Steven Guggenheimer 和 Ananya Koduri,Amazon Web Services (AWS)
2023 年 8 月 (文件歷史記錄)
您的管道是否自動化? 這是一個簡單的問題,但許多組織太簡單地處理答案。答案比是或否更複雜。
技術創新不斷發生,有時候組織可能很難跟上進度。這個新事物是淡入的,還是下一個大事? 我應該大修目前的實務,還是應該等待? 通常,在很明顯的時候,有些事情確實是下一個大事,您可以發現自己正在玩補上。持續整合和持續交付 (CI/CD) 即將保留,但並非總是如此。許多人花了很長的時間來信服,而某些人仍然需要更信服。
CI/CD 是將軟體版本程序的來源、建置、測試、預備和生產階段自動化的程序,通常描述為管道。如今,CI/CD 自動化的成本節省和速度已讓大多數組織相信其價值。但轉換到這個新方法並不容易。您需要確保您的員工有適當的訓練,您需要升級一些資源,然後您需要測試、測試、測試。要做的有很多事。在大多數情況下,您想要逐步進行這些變更,以協助組織適應。
本文件的目的是定義擁有完整 CI/CD 程序的意義。它提供工具來評估您自己的程序,並為尚未存在的程序提供前進路徑。此路徑轉送很少是隔夜轉換。這些程序很複雜,取決於許多因素,包括目前的員工技能集和目前的基礎設施需求。我們建議您排定優先順序並進行小型的增量變更。
目標
以下是實作本指南中建議的潛在好處:
-
效率 – 完整的 CI/CD 部署程序可以降低複雜性、工作負載和花費數小時的除錯、執行手動程序和維護。如需詳細資訊,請參閱持續交付的優點。根據 TechAhead 部落格文章
,CI/CD 程序的實作可預估節省 20% 的時間、精力和資源。 -
成本降低 – 根據 Forbes Insight 報告
,「四分之三的高階主管同意,持續維護和管理所花費的時間、金錢和資源,而不是新的專案開發或新措施,會影響組織的整體競爭力。」 開發週期越短,您的組織就越有可能符合雄心勃勃time-to-market目標,並在正確的時間掌握正確的機會。 -
速度 – 一般而言,完全 CI/CD 管道可以在幾個小時內向客戶發佈軟體變更。特別是在快速故障隔離和小型修補程式推送的情況下,CI/CD 管道有助於改善平均復原時間 (MTTR)。如需詳細資訊,請參閱降低 MTTR。
-
安全 – 完全 CI/CD 管道也透過減少可能的攻擊進入點並降低人為錯誤的風險,來保護發佈程序。全自動化 CI/CD 管道帶來的安全性優勢有助於避免資料外洩、服務中斷等代價高昂的後果。
-
減少耗損 – 當開發人員可以花更多時間建立絕佳的功能,並減少在維護和偵錯的無限循環中模仿的時間時,他們會更滿意。對於組織,這表示取得和保留頂尖人才更長一段時間。
-
卓越品質程式碼 – 開發人員以小型批次將程式碼發佈到共用儲存庫,這可讓他們執行平行測試
(BrowserStack 部落格文章)。與其獨立工作,他們不常與團隊共用其組建,而是協同合作以識別重大錯誤。這為開發人員提供支援,這有助於防止錯誤程式碼進入生產環境。開發人員對等的支援有助於高品質版本並推動組織成長。 -
維護 – 維護和更新是打造優質產品的重要部分。不過,請勿在尖峰流量時間關閉系統。您可以使用 CI/CD 管道,在低使用時間執行維護,將停機時間和效能影響降至最低。