Hygieia 为何物?DevOps 利器也

一、前言碎语

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模块

  1. 项目下载下来后,先mvn install root模块,有些查询对象使用了maven插件编译生成的,所以必须先编译
  2. 在Hygieiaapisrcmain esourcesapplication.properties中配置你的mongDB连接信息,基本不用动了,server.port先别改,默认使用8080
  3. 运行HygieiaapisrcmainjavacomcapitalonedashboardApplication.java中的mian方法启动服务

启动UI模块

进入HygieiaUI目录下,

  1. 执行 npm install ,bower install ,这个过程会比较长
  2. 待所有依赖都下载完成后,执行gulp serve启动UI模块,默认端口:3000
  3. UI模块不配置访问api接口地址,默认范围本地8080端口,所以刚刚的api模块不建议改端口,当然也可以在gulpfile.js的config中配置

以上步骤没有问题的话,浏览器会跳出 http://localhost:3000/#/,界面如下图,代表已经成功了

启动插件模块

以scm插件gitlib为例,Hygieia支持的插件很多

1、至Hygieiacollectorsscmgitlabsrcmain esources 目录下新增文件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时代(DevOpsTimes)

原文发表时间:2018-01-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Web项目聚集地

三周学会小程序第一讲:小程序申请和注意事项

当然用你的个人邮箱也可以,但是一个邮箱只能注册一个小程序,小编考虑到后面你可以再次开发自己的小程序,所以这里还是重新申请一个比较好。网易邮件一个手机号可以申请1...

862
来自专栏kl的专栏

DevOps利器- Hygieia平台开发部署

Capitalone(全美十大银行之一)开源的DevOps利器。使用Hygieia后,在整个软件开发周期中,用户可以选择VersionOne或Jira进行用户故...

4748
来自专栏FreeBuf

渗透测试系统BackBox Linux 4.1发布

BackBox是基于Ubuntu的Linux发行版,它是一款用于网络渗透测试及安全评估的操作系统。新版本包括Linux 3.13内核,EFI 模式,匿名模式,L...

2145
来自专栏即时通讯技术

开源轻量级IM框架MobileIMSDK v3.0发布!

本次更新为主版本更新,更新内容包含了简化了消息发送目标的方式、支持Web版与APP版互通、优化了Protocal协议结构等主要升级,详细更新内容见“版本更新说明...

1831
来自专栏小尘哥的专栏

UEditor导致的上传大文件失败

项目中用到视频上传,两种上传方式,一种直接表单提交,一种内嵌到UEditor中提交,视频文件上传到第三方视频点播服务器,此为前提。

4492
来自专栏运维咖啡吧

中小团队基于Docker的devops实践

工程师本地开发,开发完成后提交代码到代码仓库,[自动]触发jenkins进行持续集成与部署,部署完成会收到结果邮件。项目运行过程中可通过日志系统查看程序日志,有...

712
来自专栏维C果糖

深入理解 GitHub Flow

GitHub Flow 是一个轻量级,基于分支的工作流,支持团队和项目的定期部署。本指南介绍了 GitHub Flow 的工作原理。 Step 1. 创建...

2787
来自专栏Hadoop实操

如何安装SmartBI并连接到Impala

1474
来自专栏Java编程技术

利用MongoDB 分片集群(Sharded Cluster)实现高并发大数据处理

考虑这样一个场景,有个数据量有10多亿数据的设备库,里面存放了注册的设备的信息,并且设备数据还可能会递增,然后业务集群需要对指定条件的设备群发信息,那么如何才能...

2502
来自专栏AI2ML人工智能to机器学习

轻度解释Cloud Foundry命令行

我们知道Cloud Foundry (CF)是一个PaaS平台。 CF命令行(CLI)作为开始部署使用CF云平台的用户来说,一个轻度的CF CLI的解释会是一...

793

扫码关注云+社区