微服務筆記29:實現DevOps

weixin_34037977發表於2018-10-28

DevOps

實現一般採用Jekins或者GitLab開源實現方案
一種新型的業務研發流程。在該流程中業務開發人員不僅需要負責業務程式碼的研發,還需要負責業務的測試以及上線釋出等全生命週期.


4237685-f29c6a7d3d4c41af.png
DevOps

高效的組織團隊之間通過自定義的工具協作和溝通來完成軟體的生命週期管理,從而更快,更頻繁的交付穩定的軟體。
高效的工具能自動的傳送到線上,就需要經過CI和CD。

  • CI :持續整合,開發完成程式碼開發,自動的進行程式碼檢查,單元測試,部署測試環境,進行整合測試,跑自動化測試用例。
  • CD: 持續部署。
    1. 能自動部署到生產環境中進行整合測試;測試完成在進行小批量的灰度測試;然後在釋出線上。
    2. 在整個釋出的過程中,需要有人為的判斷整個過程是否正常,確保程式的正確性。

實踐

操作步驟

操作步驟包含三個。

  1. 持續整合。開發階段進行構建,打包,測試。
  2. 持續交付。確保所有程式碼合併到Develop分支,確保能在生產環境中通過。隨時交付到線上。
  3. 持續部署。合併到主幹,隨時準備釋出到線上。

實現的關鍵點

  • 持續整合階段
  1. 程式碼檢查: 通過程式碼檢查去除部分潛在的bug.
  2. 單元測試:每個具體程式碼模組的進行寫單元測試。
  3. 整合測試:將所有修改的程式碼進行部署到一起,整合階段跑每個服務的自動化測試用例。
  4. 分配的機器通過k8s之類的容器平臺進行管理,僅需要需要化分配。
  • 持續交付階段
  1. 保證最新的業務程式碼能夠在生產環境進行正常的執行。
  • 持續部署階段
  1. 目的是把類生產環境下執行通過的程式碼自動的釋出到線上所有節點中去。一般選擇手動釋出。不同的業務釋出需要有一定的步長操作。

相關文章