使用DevOps開源利器開發(fā)部署Hygieia平臺(tái)
Hygieia是什么?
Capitalone(全美十大銀行之一)開源的DevOps利器。使用Hygieia后,在整個(gè)軟件開發(fā)周期中,用戶可以選擇VersionOne或Jira進(jìn)行用戶故事的追蹤,選擇Subversion或GitHub作為代碼倉庫,選擇Jenkins或Hudson進(jìn)行構(gòu)建,選擇Selenium和SonarQube用于質(zhì)量檢測(cè),以及選擇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ù)都是存儲(chǔ)在mongoDB中
Hygieia項(xiàng)目運(yùn)行部署
前提是已經(jīng)有,java 、maven、node、mongoDB的環(huán)境了,這些環(huán)境的搭建不在本篇范圍內(nèi)
啟動(dòng)api模塊
- 項(xiàng)目下載下來后,先mvn install root模塊,有些查詢對(duì)象使用了maven插件編譯生成的,所以必須先編譯
- 在Hygieia\api\src\main\resources\application.properties中配置你的mongDB連接信息,基本不用動(dòng)了,server.port先別改,默認(rèn)使用8080
- 運(yùn)行Hygieia\api\src\main\java\com\capitalone\dashboard\Application.java中的mian方法啟動(dòng)服務(wù)
啟動(dòng)UI模塊
進(jìn)入Hygieia\UI目錄下,
- 執(zhí)行 npm install ,bower install ,這個(gè)過程會(huì)比較長(zhǎng)
- 待所有依賴都下載完成后,執(zhí)行g(shù)ulp serve啟動(dòng)UI模塊,默認(rèn)端口:3000
- UI模塊不配置訪問api接口地址,默認(rèn)范圍本地8080端口,所以剛剛的api模塊不建議改端口,當(dāng)然也可以在gulpfile.js的config中配置
以上步驟沒有問題的話,瀏覽器會(huì)跳出http://localhost:3000/#/,界面如下圖,代表已經(jīng)成功了
啟動(dò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的接口會(huì)不一樣
2.運(yùn)行
Hygieia\collectors\scm\gitlab\src\main\java\com\capitalone\dashboard\Application.java中的mian方法啟動(dòng)服務(wù)
測(cè)試gitlib插件
按如下圖例操作,最后可看到軟件提交的生命周期
文末結(jié)語
Hygieia框架本身使用spring boot+angular前后端分離的架構(gòu),在Hygieia基礎(chǔ)上進(jìn)行二次開發(fā)非常方便,可以很快的基于Hygieia定制開發(fā)落地具有公司業(yè)務(wù)特色的DevOps,乃DevOps利器也。
以上就是使用DevOps開源利器開發(fā)部署Hygieia平臺(tái)的詳細(xì)內(nèi)容,更多關(guān)于DevOps開發(fā)部署Hygieia平臺(tái)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java 工廠模式的講解及優(yōu)缺點(diǎn)的介紹
這篇文章主要介紹了java 工廠模式的講解及優(yōu)缺點(diǎn)的介紹的相關(guān)資料, 簡(jiǎn)單工廠模式,又稱為靜態(tài)工廠方法(Static Factory Method)模式,它屬于類創(chuàng)建型模式,需要的朋友可以參考下2017-08-08mybatis通過中間表實(shí)現(xiàn)一對(duì)多查詢功能
這篇文章主要介紹了mybatis通過中間表實(shí)現(xiàn)一對(duì)多查詢,通過一個(gè)學(xué)生的id查詢出該學(xué)生所學(xué)的所有科目,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08Springboot整合Mybatis傳值的常用方式總結(jié)
今天給大家?guī)淼氖顷P(guān)于Springboot的相關(guān)知識(shí),文章圍繞著Springboot整合Mybatis傳值的常用方式展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06SpringBoot配置ShedLock分布式定時(shí)任務(wù)
ShedLock是一個(gè)在分布式環(huán)境中使用的定時(shí)任務(wù)框架,這篇文章主要介紹了SpringBoot配置ShedLock分布式定時(shí)任務(wù),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05用java實(shí)現(xiàn)的獲取優(yōu)酷等視頻縮略圖的實(shí)現(xiàn)代碼
想獲取優(yōu)酷等視頻縮略圖,在網(wǎng)上沒有找到滿意的資料,參考了huangdijia的PHP版工具一些思路,寫了下面的JAVA版代碼。。其實(shí)也可以做成JS版的2013-05-05Java如何使用Query動(dòng)態(tài)拼接SQL詳解
這篇文章主要給大家介紹了關(guān)于Java如何使用Query動(dòng)態(tài)拼接SQL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01