首頁 > 軟體

使用DevOps開源利器開發部署Hygieia平臺

2022-03-01 19:00:02

Hygieia是什麼?

Capitalone(全美十大銀行之一)開源的DevOps利器。使用Hygieia後,在整個軟體開發週期中,使用者可以選擇VersionOne或Jira進行使用者故事的追蹤,選擇Subversion或GitHub作為程式碼倉庫,選擇Jenkins或Hudson進行構建,選擇Selenium和SonarQube用於質量檢測,以及選擇uDeploy或Jenkins進行部署等等,當然Hygieia不止這點,它的api基於rest風格外掛設計,其他的一些軟體工程元件可以很輕鬆的接入到Hygieia,他的dashboard大盤可以展示軟體建立到交付的整個生命週期資料。

專案地址:https://github.com/capitalone/Hygieia

Hygieia架構圖

如架構圖,Hygieia主要由三大部分組成,【api模組】,【聯結器模組(外掛模組)】,【大盤模組(ui模組)】,UI和api是前後端分離的架構,可以單獨打包不熟執行

Hygieia開發用到技術棧

Hygieia主要java開發的,使用了spring boot框架,前端使用angular.js開發,閱讀實踐本文,你需要了解如下相關技術棧:

  • 前端相關:node、npm、bower、gulp
  • 後端相關:java、spring boot、maven
  • 資料庫:mongoDB

其中數所有的據都是儲存在mongoDB中

Hygieia專案執行部署

前提是已經有,java 、maven、node、mongoDB的環境了,這些環境的搭建不在本篇範圍內

啟動api模組 

  • 專案下載下來後,先mvn install root模組,有些查詢物件使用了maven外掛編譯生成的,所以必須先編譯
  • 在Hygieiaapisrcmainresourcesapplication.properties中設定你的mongDB連線資訊,基本不用動了,server.port先別改,預設使用8080
  • 執行HygieiaapisrcmainjavacomcapitalonedashboardApplication.java中的mian方法啟動服務

啟動UI模組

進入HygieiaUI目錄下,

  • 執行 npm install ,bower install ,這個過程會比較長
  • 待所有依賴都下載完成後,執行gulp serve啟動UI模組,預設埠:3000
  • UI模組不設定存取api介面地址,預設範圍本地8080埠,所以剛剛的api模組不建議改埠,當然也可以在gulpfile.js的config中設定

以上步驟沒有問題的話,瀏覽器會跳出http://localhost:3000/#/,介面如下圖,代表已經成功了

啟動外掛模組

以scm外掛gitlib為例,Hygieia支援的外掛很多

1.至Hygieiacollectorsscmgitlabsrcmainresources 目錄下新增檔案application.properties,設定內容如下

gitlab.host=git.yudianbank.com
gitlab.port=80
gitlab.cron=0/10 * * * * ?   #多久同步一次gitlib資料
gitlab.protocol=http            
gitlab.apiVersion=3
gitlab.firstRunHistoryDays=200

注意gitlab.apiVersion版本的差異,gitlib api的介面會不一樣

2.執行

HygieiacollectorsscmgitlabsrcmainjavacomcapitalonedashboardApplication.java中的mian方法啟動服務

測試gitlib外掛

按如下圖例操作,最後可看到軟體提交的生命週期

文末結語

Hygieia框架本身使用spring boot+angular前後端分離的架構,在Hygieia基礎上進行二次開發非常方便,可以很快的基於Hygieia客製化開發落地具有公司業務特色的DevOps,乃DevOps利器也。

以上就是使用DevOps開源利器開發部署Hygieia平臺的詳細內容,更多關於DevOps開發部署Hygieia平臺的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com