切換到 CI/CD 時最常見的七個錯誤

切換到 CI/CD 時最常見的七個錯誤
如果您的公司只是實施 DevOps 或 CI/CD 工具,那麼熟悉最常見的錯誤可能對您很有用,這樣您就不會重複這些錯誤並踩別人的耙子。 

團隊 Mail.ru 雲解決方案 翻譯了這篇文章 過渡到 CI/CD 時避免這些常見的陷阱,作者:Jasmine Chokshi 並添加了一些內容.

不願意改變文化和流程

看循環圖 DevOps的很明顯,在 DevOps 實踐中,測試是一項持續的工作,是每個單獨部署的基本組成部分。

切換到 CI/CD 時最常見的七個錯誤
DevOps 無限循環圖

開發和交付期間的測試和質量保證是開發人員所做的一切工作的重要組成部分。 這需要改變思維方式,將測試納入每項任務中。

測試成為每個團隊成員日常工作的一部分。 過渡到持續測試並不容易,您需要為此做好準備。

缺乏回饋

DevOps 的有效性取決於持續的反饋。 如果沒有協作和溝通的空間,持續改進是不可能的。

不組織回顧會議的公司發現很難在 CI/CD 中實施持續反饋的文化。 每次迭代結束時都會舉行回顧會議,小組成員討論哪些進展順利,哪些出了問題。 回顧會議是 Scrum/Agile 的基礎,但它們對於 DevOps 也至關重要。 

這是因為回顧會議灌輸了交換反饋和意見的習慣。 開始時最重要的時刻之一是組織定期回顧會議,以便整個團隊能夠理解和熟悉這些會議。

當談到軟件質量時,所有團隊成員都有責任維護它。 例如,開發人員可以在編寫單元測試和代碼時考慮到可測試性,從而有助於從一開始就降低風險。

反映測試觀念不斷變化的一種簡單方法是,將測試人員稱為軟件測試人員或質量工程師,而不是 QA。 這個改變可能看起來太簡單,甚至愚蠢。 但稱某人為“軟件質量保證專家”會讓人誤解誰對產品質量負責。 在敏捷、CI/CD 和 DevOps 實踐中,每個人都對軟件質量負責。

另一個重要的一點是理解質量對於整個團隊及其每個成員、組織、利益相關者意味著什麼。

對階段完成的誤解

如果質量是一個持續且共享的過程,則需要對階段的完成達成共識。 如何理解階段結束了? 當 Trello 看板或其他看板上將里程碑標記為已完成時會發生什麼?

確定已完成的里程碑 (DoD) 是 CD DevOps/CI 背景下的一個強大工具。 它有助於更好地了解團隊構建內容和構建方式的質量標準。

開發團隊必須決定“完成”的含義。 他們需要坐下來列出每個階段必須滿足的特徵,這樣才能認為它是完整的。

如果所有團隊成員都清楚並達成共識,DoD 將使流程更加透明並促進 CI/CD 的實施。

缺乏現實、明確的目標

這是最常被引用的技巧之一,但值得重複。 對於任何嚴肅的事業要取得成功,包括實施 CI/CD 或 DevOps,您需要設定切合實際的目標並根據這些目標衡量績效。 您想通過 CI/CD 實現什麼目標? 它是否允許更快的發布和更好的質量?

任何設定的目標不僅應該透明、現實,而且應該與公司當前的活動相一致。 例如,您的客戶多久需要一次新補丁或版本? 如果沒有給用戶帶來額外的好處,就沒有必要使流程超載並更快地發布。

此外,您並不總是需要同時實施 CD 和 CI。 例如,銀行和醫療診所等受到嚴格監管的公司可能只與 CI 合作。

CI 對於任何實施 DevOps 的公司來說都是一個很好的起點。 當它在公司中實施時,軟件交付的方法會發生顯著變化。 一旦掌握了CI,就可以考慮改進整個流程、提高上線速度等改變。

對於許多組織來說,一個 CI 就足夠了,只有在能夠增加價值的情況下才應該實施 CD。

缺乏相關的儀表板和指標

設定目標後,開發團隊可以創建一個儀表板來衡量 KPI。 在開發之前,有必要評估將要監控的參數。

不同的報告和應用程序對不同的團隊成員有用。 Scrum Master 更關心地位和影響力。 而高級管理層可能對專家的倦怠率感興趣。

一些團隊還使用帶有紅色、黃色和綠色指示燈的儀表板來評估 CI/CD 的狀態,以了解他們是否正在做正確的事情或是否發生了錯誤。 紅色表示您需要注意正在發生的事情。

但是,如果儀表板未標準化,則可能會產生誤導。 分析每個人都需要哪些數據,然後創建其含義的標準化描述。 找出對利益相關者來說更有意義的內容:圖形、文本或數字。

缺乏手動測試

測試自動化為良好的 CI/CD 管道奠定了基礎。 但各個階段的自動化測試並不意味著你不應該進行手動測試。 

要構建高效的 CI/CD 管道,還需要手動測試。 測試的某些方面總是需要人工分析。

值得考慮將手動測試工作集成到管道中。 一旦一些測試用例的手動測試完成,您就可以進入部署階段。

不要試圖改進測試

有效的 CI/CD 管道需要使用正確的工具,無論是測試管理還是集成和持續監控。

創建強大的、以質量為導向的文化旨在 測試實施、監控部署後的客戶體驗並跟踪改進。 

以下是一些您可以輕鬆實施的實用技巧:

  1. 確保測試易於編寫且足夠靈活,以便在重構代碼時不會中斷。
  2. 開發團隊應該參與測試過程 - 請參閱在 CI 管道期間對測試很重要的用戶問題和請求列表。
  3. 您可能沒有完整的測試覆蓋範圍,但始終確保對用戶體驗和客戶體驗重要的流程進行測試。

最後但並非最不重要的一點

向CI/CD的過渡通常是自下而上發起的,但最終是一個需要公司管理層、時間和資源參與的轉變。 畢竟,CI/CD是一套技能、流程、工具和文化重組,這樣的改變只能係統地實施。

關於該主題還可以閱讀什麼:

  1. 技術債務如何扼殺您的項目.
  2. 如何改進 DevOps.
  3. 2020 年 XNUMX 大 DevOps 趨勢.

來源: www.habr.com

添加評論