使用DevOps開源利器開發部署Hygieia平臺
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插件編譯生成的,所以必須先編譯
- 在Hygieia\api\src\main\resources\application.properties中配置你的mongDB連接信息,基本不用動瞭,server.port先別改,默認使用8080
- 運行Hygieia\api\src\main\java\com\capitalone\dashboard\Application.java中的mian方法啟動服務
啟動UI模塊
進入Hygieia\UI目錄下,
- 執行 npm install ,bower install ,這個過程會比較長
- 待所有依賴都下載完成後,執行gulp serve啟動UI模塊,默認端口:3000
- UI模塊不配置訪問api接口地址,默認范圍本地8080端口,所以剛剛的api模塊不建議改端口,當然也可以在gulpfile.js的config中配置
以上步驟沒有問題的話,瀏覽器會跳出http://localhost:3000/#/,界面如下圖,代表已經成功瞭
啟動插件模塊
以scm插件gitlib為例,Hygieia支持的插件很多
1.至Hygieia\collectors\scm\gitlab\src\main\resources 目錄下新增文件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.運行
Hygieia\collectors\scm\gitlab\src\main\java\com\capitalone\dashboard\Application.java中的mian方法啟動服務
測試gitlib插件
按如下圖例操作,最後可看到軟件提交的生命周期
文末結語
Hygieia框架本身使用spring boot+angular前後端分離的架構,在Hygieia基礎上進行二次開發非常方便,可以很快的基於Hygieia定制開發落地具有公司業務特色的DevOps,乃DevOps利器也。
以上就是使用DevOps開源利器開發部署Hygieia平臺的詳細內容,更多關於DevOps開發部署Hygieia平臺的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Spring Boot訪問靜態資源css/js,你真的懂瞭嗎
- Spring Boot 的創建和運行示例代碼詳解
- SpringBoot項目微信雲托管入門部署實踐
- 如何獲取Maven項目的版本號
- SpringBoot零基礎入門之基本操作與概念