DevOps教程:DevOps 生命週期

【注】本文譯自:https://www.javatpoint.com/de...java

  DevOps定義了運營與開發之間的敏捷關係。從產品的開始到最終階段,開發團隊和運營工程師共同實踐這一過程。
image
  咱們的 DevOps 教程旨在幫助初學者和專業人士。
  不瞭解 DevOps 生命週期階段的話,就不能完整地學習 DevOps。DevOps 生命週期包括如下七個階段:安全

1) 持續開發

  此階段涉及軟件的計劃和編碼。在規劃階段肯定項目的遠景。開發人員開始爲應用開發代碼。計劃不須要任何 DevOps 工具,可是有幾種工具能夠維護代碼。服務器

2) 持續集成

  此階段是整個DevOps生命週期的核心。這是一種軟件開發實踐,開發人員須要更加頻繁地對源代碼進行更改。多是天天或每週提交,而後會構建每一個提交,若是存在問題則能夠儘早發現問題。構建代碼不只涉及編譯,並且還包括單元測試集成測試代碼審查打包
  支持新功能的代碼與現有代碼不斷集成在一塊兒。所以,軟件在持續開發。更新後的代碼須要與系統持續續流暢地集成,從而將變動反映給最終用戶。
image
  Jenkins 是這個階段使用的流行工具。每當 Git 存儲庫中發生變動時,Jenkins都會獲取更新的代碼並準備該代碼的構建,生成 war 或 jar 形式的可執行文件。而後將此構建轉發到測試服務器或生產服務器。工具

3) 持續測試

  在此階段,開發好的軟件被持續測試,以發現錯誤。持續測試中可使用自動化測試工具,如 TestNGJUnitSelenium 等。 這些工具使 QA 能夠徹底並行地測試多個代碼庫,以確保功能上沒有缺陷。這個階段可使用 Docker 容器模擬測試環境。
image
  Selenium 進行自動化測試,TestNG生成報告。Jenkins 這個持續集成工具的幫助下,整個測試階段能夠自動化。
自動化測試節省了執行測試所需的時間和精力,而不是手動執行。除此以外,報告生成是一大優點。評估測試套件中失敗的測試用例這樣的任務,變得更加簡單。一樣,咱們能夠安排在預約的時間執行測試用例。測試後的代碼將與現存代碼持續集成。單元測試

4) 持續監控

  監控階段涉及整個DevOps流程的全部操做因素,在此階段將記錄並仔細處理有關軟件使用的重要信息,以發現趨勢並肯定問題域。一般,監視被集成在軟件應用的操做能力以內。
  監控數據多是文檔文件的形式,也可能在持續使用時生成關於應用參數的大規模數據。此階段解決了系統錯誤,例如服務器沒法訪問、內存不足等。 它維護服務的安全性和可用性。學習

5) 持續反饋

  經過分析軟件操做的結果,持續改進應用開發。由此,要設置一個當前運營的軟件應用和下一版本開發之間的關鍵階段,來接受持續反饋。
  在 DevOps 中,連續性是相當重要的因素,由於它消除了開發軟件所須要的沒必要要的步驟,使用它來發現問題而後生成一個更好的版本。這可能會下降應用程序的效率,並減小感興趣的客戶數量。測試

6) 持續部署

  在此階段,將代碼部署到生產服務器。一樣,必須確保在全部服務器上正確使用該代碼。
image
  新代碼不斷部署,配置管理工具在頻繁且快速地執行任務中起着相當重要的做用。如下是此階段使用的一些流行工具,例如 ChefPuppetAnsibleSaltStack
容器化工具在部署階段也起着相當重要的做用。VagrantDocker 是用於此目的的流行工具。這些工具備助於在開發、階段、測試和生產環境中實現一致性。它們還有助於柔和地伸縮實例。
  容器化工具備助於在測試、開發和部署應用程序的環境中保持一致性。生產環境中不會出現錯誤或故障的機會,由於它們打包並複製了測試、開發和階段環境中使用的相同依賴項和程序包。它使應用易於在不一樣的計算機上運行。編碼

7) 持續運營

  全部 DevOps 運營都基於連續性以及發佈過程的徹底自動化,並使組織可以持續加快總體上市時間。
  從討論中能夠明顯看出,連續性是 DevOps 的關鍵因素,它能夠消除一些步驟,這些步驟常常會分散開發人員注意力、花費較長時間來發現問題並在幾個月後才能生產出更好版本的產品的步驟。藉助 DevOps,咱們能夠提升任何軟件產品的效率,並增長產品對於客戶吸引力。spa

相關文章
相關標籤/搜索