使用DevOps開源利器開發(fā)部署Hygieia平臺
Hygieia是什么?
Capitalone(全美十大銀行之一)開源的DevOps利器。使用Hygieia后,在整個(gè)軟件開發(fā)周期中,用戶可以選擇VersionOne或Jira進(jìn)行用戶故事的追蹤,選擇Subversion或GitHub作為代碼倉庫,選擇Jenkins或Hudson進(jìn)行構(gòu)建,選擇Selenium和SonarQube用于質(zhì)量檢測,以及選擇uDeploy或Jenkins進(jìn)行部署等等,當(dāng)然Hygieia不止這點(diǎn),它的api基于rest風(fēng)格插件設(shè)計(jì),其他的一些軟件工程組件可以很輕松的接入到Hygieia,他的dashboard大盤可以展示軟件創(chuàng)建到交付的整個(gè)生命周期數(shù)據(jù)。
項(xiàng)目地址:https://github.com/capitalone/Hygieia
Hygieia架構(gòu)圖

如架構(gòu)圖,Hygieia主要由三大部分組成,【api模塊】,【連接器模塊(插件模塊)】,【大盤模塊(ui模塊)】,UI和api是前后端分離的架構(gòu),可以單獨(dú)打包不熟運(yùn)行
Hygieia開發(fā)用到技術(shù)棧
Hygieia主要java開發(fā)的,使用了spring boot框架,前端使用angular.js開發(fā),閱讀實(shí)踐本文,你需要了解如下相關(guān)技術(shù)棧:
- 前端相關(guān):node、npm、bower、gulp
- 后端相關(guān):java、spring boot、maven
- 數(shù)據(jù)庫:mongoDB
其中數(shù)所有的據(jù)都是存儲在mongoDB中
Hygieia項(xiàng)目運(yùn)行部署
前提是已經(jīng)有,java 、maven、node、mongoDB的環(huán)境了,這些環(huán)境的搭建不在本篇范圍內(nèi)
啟動api模塊
- 項(xiàng)目下載下來后,先mvn install root模塊,有些查詢對象使用了maven插件編譯生成的,所以必須先編譯
- 在Hygieia\api\src\main\resources\application.properties中配置你的mongDB連接信息,基本不用動了,server.port先別改,默認(rèn)使用8080
- 運(yùn)行Hygieia\api\src\main\java\com\capitalone\dashboard\Application.java中的mian方法啟動服務(wù)
啟動UI模塊
進(jìn)入Hygieia\UI目錄下,
- 執(zhí)行 npm install ,bower install ,這個(gè)過程會比較長
- 待所有依賴都下載完成后,執(zhí)行g(shù)ulp serve啟動UI模塊,默認(rèn)端口:3000
- UI模塊不配置訪問api接口地址,默認(rèn)范圍本地8080端口,所以剛剛的api模塊不建議改端口,當(dāng)然也可以在gulpfile.js的config中配置
以上步驟沒有問題的話,瀏覽器會跳出http://localhost:3000/#/,界面如下圖,代表已經(jīng)成功了

啟動插件模塊
以scm插件gitlib為例,Hygieia支持的插件很多
1.至Hygieia\collectors\scm\gitlab\src\main\resources 目錄下新增文件application.properties,配置內(nèi)容如下
gitlab.host=git.yudianbank.com
gitlab.port=80
gitlab.cron=0/10 * * * * ? #多久同步一次gitlib數(shù)據(jù)
gitlab.protocol=http
gitlab.apiVersion=3
gitlab.firstRunHistoryDays=200
注意gitlab.apiVersion版本的差異,gitlib api的接口會不一樣
2.運(yùn)行
Hygieia\collectors\scm\gitlab\src\main\java\com\capitalone\dashboard\Application.java中的mian方法啟動服務(wù)
測試gitlib插件
按如下圖例操作,最后可看到軟件提交的生命周期





文末結(jié)語
Hygieia框架本身使用spring boot+angular前后端分離的架構(gòu),在Hygieia基礎(chǔ)上進(jìn)行二次開發(fā)非常方便,可以很快的基于Hygieia定制開發(fā)落地具有公司業(yè)務(wù)特色的DevOps,乃DevOps利器也。
以上就是使用DevOps開源利器開發(fā)部署Hygieia平臺的詳細(xì)內(nèi)容,更多關(guān)于DevOps開發(fā)部署Hygieia平臺的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring的事件發(fā)布與監(jiān)聽方式案例講解
今天去官網(wǎng)查看spring?boot資料時(shí),在特性中看見了系統(tǒng)的事件及監(jiān)聽章節(jié),所以下面這篇文章主要給大家介紹了關(guān)于SpringBoot事件發(fā)布和監(jiān)聽的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
springcloud-gateway整合jwt+jcasbin實(shí)現(xiàn)權(quán)限控制的詳細(xì)過程
這篇文章主要介紹了springcloud-gateway整合jwt+jcasbin實(shí)現(xiàn)權(quán)限控制,基于springboot+springcloud+nacos的簡單分布式項(xiàng)目,項(xiàng)目交互采用openFeign框架,單獨(dú)提取出來成為一個(gè)獨(dú)立的model,需要的朋友可以參考下2023-02-02
Spring?Data?JPA實(shí)現(xiàn)數(shù)據(jù)持久化過程詳解
Spring?Data?JPA是一個(gè)流行的Java持久化框架,它在Java應(yīng)用程序中提供了一種簡單、一致和易于使用的方式來訪問各種數(shù)據(jù)庫。本文將介紹Spring?Data?JPA的基本概念和用法并提供一個(gè)完整的實(shí)例,幫助您更好地理解它的使用方法和優(yōu)勢2023-05-05
Spring中allowedOriginPatterns和allowedOrigins方法有何不同詳解
這篇文章主要給大家介紹了關(guān)于Spring中allowedOriginPatterns和allowedOrigins方法有何不同,allowedOriginPatterns和allowedOrigins都是用來設(shè)置允許跨域請求的來源,需要的朋友可以參考下2023-10-10
使用JAXBContext 設(shè)置xml節(jié)點(diǎn)屬性
這篇文章主要介紹了使用JAXBContext 設(shè)置xml節(jié)點(diǎn)屬性的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
詳細(xì)了解JAVA NIO之Buffer(緩沖區(qū))
這篇文章主要介紹了JAVA NIO之Buffer(緩沖區(qū))的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的學(xué)習(xí)JAVA NIO,感興趣的朋友可以了解下2020-07-07
Android?Java判斷密碼強(qiáng)度方法實(shí)例(強(qiáng)度顯示)
在現(xiàn)代社會中,密碼是確保我們個(gè)人信息和賬戶安全的重要手段之一,為了提高密碼的安全性,我們可以使用正則表達(dá)式來判斷密碼的強(qiáng)度,這篇文章主要給大家介紹了關(guān)于Android?Java判斷密碼強(qiáng)度(強(qiáng)度顯示)的相關(guān)資料,需要的朋友可以參考下2024-03-03

