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平台开发部署的更多相关文章
- 在微服务系统开发部署中使用Azure RBAC自定义角色
Azure的官方文档介绍了如何创建用于Azure基于角色的访问控制的自定义角色(RBAC Role). 我们也可以根据同样的原理把RBAC细粒度资源管理运用于微服务产品的开发部署中.(https:// ...
- 【DevOps】团队敏捷开发系列--开山篇
随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...
- 这款 IDE 插件再次升级,让「小程序云」的开发部署提速 8 倍
今年3月份,在阿里云北京峰会上,阿里巴巴正式发布了“阿里巴巴小程序繁星计划”,截至当前,已经有成千上万的开发者加入这个计划,使得小程序得到蓬勃发展,然而不可避免的是,这些服务加重了对云端的开发部署.运 ...
- 研发效能|DevOps 已死平台工程永存带来的焦虑
最近某位大神在推特上发了一个帖子,结果引来了国内众多卖课机构.培训机构的狂欢,开始贩卖焦虑,其实「平台工程」也不是什么特别高深莫测的东西.闲得无聊,把这位大神的几个帖子薅了下来,你看过之后就会觉得没啥 ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证
要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方 ...
- 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:公众号后台系统和数据都基本准备妥当了,可以来分享下我是如何开发本微信公众号的后台系统了 ...
- 第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容
第一部分:微信JS-SDK介绍 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...
- 第四篇 :微信公众平台开发实战Java版之完成消息接受与相应以及消息的处理
温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众 ...
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...
随机推荐
- #366 A-C
A. Hulk 题意是给你一个n 输出一个英文字符串,找下规律就发现 当(i!=n&&i%2==1) 输出的是 I hate that (注意大写) 当(i!=n&&i ...
- uboot2014.10移植(一)
最新有点时间,所以想折腾点东西,于是拿起了几年前的TQ2440玩玩,下载了uboot2014.10版本,准备移植到板子上去,没想到折腾环境都折腾了一下午. 1.工具链安装 我的工具链直接用命令安装的: ...
- eclipse svn不能忽略文件及文件夹,ignore设置无效 ?
https://blog.csdn.net/zengmingen/article/details/79025445 https://blog.csdn.net/zengmingen/article/d ...
- UVA1455 【Kingdom】
分析 直线都是\(y=\overline{a.5}\)这种形式,而只查询州和城市的个数,所以很容易想到对\(y\)轴做投影,然后转化为区间修改(加减)和单点查询,可以用线段树维护.至于每个州只会合并不 ...
- JS中map和foreach的区别以及some和every的用法
一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...
- Cassandra Demo--Python操作cassandra
================================================================ 创建keyspace和table CREATE KEYSPACE ex ...
- Unity 官方教程 学习
Interface & Essentials Using the Unity Interface 1.Interface Overview https://unity3d.com/cn/lea ...
- WinForm中执行JS代码(多种方法)
方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址 http://www.microsoft.com/downloads/details ...
- Hi3520DV200和Hi3520DV300
处理器:V200---arm A9 600M主频V300---arm A7 800M主频 编码解码能力:V200---8路D1或者4路720PV300---8路D1或者4路1080p或者9路720p ...
- spring+mybaits xml配置解析----转
一.项目中spring+mybaits xml配置解析 一般我们会在datasource.xml中进行如下配置,但是其中每个配置项原理和用途是什么,并不是那么清楚,如果不清楚的话,在使用时候就很有可能 ...
