专栏首页搜狗测试Hygieia-你值得拥有!!!(下篇)

Hygieia-你值得拥有!!!(下篇)

书接上篇,我们介绍了Hygieia的架构图、应用的的技术、以及主要工程的搭建步骤,现在Hygieia系统已经能够完整的运行起来了,但是如果要充分发挥Hygieia的作用,还需要借助各个collector,通过这些collector,将我们需要的各类数据进行收集,同时在主界面中得到展现。

本篇我们主要介绍我们实际应用到的4个collector的搭建以及应用:

  • hygieia-scm-gitlab-collector
  • hygieia-scm-subversion-collector
  • hygieia-build-jenkins-collector
  • hygieia-codequality-sonar-collector

环境要求

  • Java - Version 1.8 is recommended
  • Maven - Version 3.3.9 and above are recommended
  • Git - Install Git

hygieia-scm-gitlab-collector

第一步:使用Hygieia-Core生成一个用于认证的密钥key

  • 进入Hygieia-Core\target 目录
java -jar core-3.1.3-SNAPSHOT.jar com.capitalone.dashboard.util.Encryption
  • 记录最后一行内容,即“PbA/8tJ+PXthc3a3KijBqmyo6eC4V2qu”

第二步:获取工程代码

获取代码的方式有两种,克隆或者下载:

  • 克隆,获取最新的代码,执行 “git clone https://github.com/Hygieia/hygieia-scm-gitlab-collector.git ” ,存在的风险是无法工程可能编译不成功;
  • 下载,获取最新的Release版本, https://github.com/Hygieia/hygieia-scm-gitlab-collector/archive/v3.1.0.tar.gz ,推荐使用。

第三步、编写配置文件

  • 进入hygieia-scm-gitlab-collector根目录
  • 在/src/main/resources/目录下新建文件,文件名为gitlab-collector.properties
  • 修改配置文件 # mogonDB的数据库名称 dbname=xxx # mogonDB的数据库地址 - default is localhost dbhost=xxx.xxx.xxx.xxx # mogonDB的数据库端口 - default is 27017 dbport=27017 # MongoDB replicaset dbreplicaset=false dbhostport=xxx.xxx.xxx.xxx:27017 # mogonDB的数据库用户名 - default is blank dbusername=xxxxx # mogonDB的数据库密码 - default is blank dbpassword=xxxxx # Log文件存在地址 logging.file=./logs/gitlab.log # Collector执行策略 (required) gitlab.cron=0/10 * * * * * # Gitlab地址 (optional, defaults to 'gitlab.com') gitlab.host=gitlab.com # Gitlab服务器协议 (optional, defaults to 'http') gitlab.protocol=https # 如果gitlab中的工程目录结构存在Subgroup,则需要开启。如果开启,在前端dashboard的插件中配置URL的格式为 <gitlab.protocol>://<gitlab.host>/<gitlab_project_id>, gitlab.useProjectId=true # Gitlab端口 (optional, 默认协议则为默认端口,即http为80、https为443) #gitlab.port=80 # 如果Gitlab path (optional, if your instance of gitlab requires a path) #gitlab.path= #If your instance of Gitlab is using a self-signed certificate, set to true, default is false gitlab.selfSignedCertificate=true # Gitlab API Token (required, 内容通过Gitlab设置页中生成,collector获取数据时默认使用, 如果在UI界面配置时填写了新的Token内容,则会覆盖此处默认设置的内容) #gitlab.apiToken= # 最多显示之前多少天的数据 gitlab.commitThresholdDays=60 # Gitlab key for private repos,通过Hygieia-core生成 gitlab.key=xxxxxx
  • 编译打包: mvn clean install package

第四步:启动服务

  • 前台运行: java -jar target/gitlab-scm-collector-3.1.0-SNAPSHOT.jar --spring.config.name=gitlab --spring.config.location=src/main/resources/gitlab-collector.properties
  • 静默运行: nohup java -jar target/gitlab-scm-collector-3.1.0-SNAPSHOT.jar --spring.config.name=gitlab --spring.config.location=src/main/resources/gitlab-collector.properties &

hygieia-scm-subversion-collector

第一步:获取工程代码

获取代码的方式有两种,克隆或者下载:

  • 克隆,获取最新的代码,执行 “git clone https://github.com/Hygieia/hygieia-scm-subversion-collector.git ” ,存在的风险是无法工程可能编译不成功;
  • 下载,获取最新的Release版本, https://github.com/Hygieia/hygieia-scm-subversion-collector/archive/subversion-collector-3.0.2.tar.gz ,推荐使用。

第二步:编写配置文件

  • 进入hygieia-scm-subversion-collector根目录
  • 在/src/main/resources/目录下新建文件,文件名为subversion-collector.properties
  • 修改配置文件 # Database Name dbname=dashboard # Database HostName - default is localhost dbhost=xxx.xxx.xxx.xxx # Database Port - default is 27017 dbport=27017 # MongoDB replicaset dbreplicaset=false dbhostport=xxx.xxx.xxx.xxx:27017 # Database Username - default is blank dbusername=xxxxx # Database Password - default is blank dbpassword=xxxxx # Logging File location logging.file=./logs/subversion.log # Collector schedule (required) # subversion.cron=0 0/5 * * * * subversion.cron=0/10 * * * * * # Shared subversion username and password # subversion.username=foo # subversion.password=bar # subversion.host=subversion.host.com # Maximum number of previous days from current date, when fetching commits subversion.commitThresholdDays=15
  • 编译打包: mvn clean install package

第三步:启动服务

  • 前台运行: java -jar target/subversion-collector-3.0.1.jar --spring.config.name=subversion --spring.config.location=src/main/resources/subversion-collector.properties
  • 静默运行: nohup java -jar target/subversion-collector-3.0.1.jar --spring.config.name=subversion --spring.config.location=src/main/resources/subversion-collector.properties &

hygieia-build-jenkins-collector

第一步:在Jenkins中获取API Token

  • 登录Jenkins,点击左侧的People
  • 在右侧列表中点击当前登录的账号
  • 在打开的页面中,点击左侧的Configure
  • 在右侧API Token中点击“Add new Token”
  • 输入名称后,点击右侧的“Generate”按钮
  • 记录最后一行内容,即“119ad0a8f0e7a41a6f6166eb9ab3a56640”,注意,该内容仅出现一次

第二步:获取工程代码

获取代码的方式有两种,克隆或者下载:

  • 克隆,获取最新的代码,执行 “git clone https://github.com/Hygieia/hygieia-build-jenkins-collector.git ” ,存在的风险是无法工程可能编译不成功;
  • 下载,获取最新的Release版本, https://github.com/Hygieia/hygieia-build-jenkins-collector/archive/v3.1.0.tar.gz ,推荐使用。

第三步:编写配置文件

  • 进入hygieia-build-jenkins-collector根目录
  • 在src/main/resources/目录下新建文件,文件名为jenkins-build.properties
  • 修改配置文件 # Database Name dbname=xxxxx # Database HostName - default is localhost dbhost=xxx.xxx.xxx.xxx # Database Port - default is 27017 dbport=27017 # MongoDB replicaset dbreplicaset=false dbhostport=xxx.xxx.xxx.xxx:27017 # Database Username - default is blank dbusername=xxxxxx # Database Password - default is blank dbpassword=xxxxxx # Collector schedule (required) jenkins.cron=0/10 * * * * * # The page size jenkins.pageSize=1000 # The folder depth - default is 10 jenkins.folderDepth=10 # Jenkins server (required) - Can provide multiple,如果无需账号验证,只需要配置这里 # jenkins.servers、jenkins.usernames、jenkins.apiKeys、jenkins.searchFields配置是成对出现的,使用[0]来归类, # jenkins.servers[0]=http://jenkins.company.com #jenkins.servers[0]=http://JenkinsHost1 #jenkins.servers[1]=http://JenkinsHost2 # If using username/token for API authentication,如果需要账号验证,需要配置这里,以及下方的Another option,token为上述中通过Jenkins中生成的API Token # (required for Cloudbees Jenkins Ops Center) For example, # jenkins.servers[0]=http://username:token@jenkins.company.com jenkins.servers[0]=http://username0:token0@JenkinsHost1 jenkins.servers[1]=http://username1:token1@JenkinsHost2 # Another option: If using same username/password Jenkins auth, # set username/apiKey to use HTTP Basic Auth (blank=no auth) jenkins.usernames[0]=username0 jenkins.apiKeys[0]=token0 jenkins.usernames[1]=username1 jenkins.apiKeys[1]=token1 # Search criteria enabled via properties (max search criteria = 2) jenkins.searchFields[0]= options.jobName jenkins.searchFields[1]= niceName # Determines if build console log is collected - defaults to false jenkins.saveLog=true # Timeout values jenkins.connectTimeout=20000 jenkins.readTimeout=20000
  • 编译打包: mvn clean install package

第四步:启动服务

  • 前台运行: java -jar target/jenkins-build-collector-3.0.1.jar --spring.config.name=jenkins --spring.config.location=src/main/resources/jenkins-build.properties
  • 静默运行: nohup java -jar target/jenkins-build-collector-3.0.1.jar --spring.config.name=jenkins --spring.config.location=src/main/resources/jenkins-build.properties &

hygieia-codequality-sonar-collector

第一步:获取工程代码

获取代码的方式有两种,克隆或者下载:

  • 克隆,获取最新的代码,执行 “git clone https://github.com/Hygieia/hygieia-codequality-sonar-collector.git ” ,存在的风险是无法工程可能编译不成功;
  • 下载,获取最新的Release版本, https://github.com/Hygieia/hygieia-codequality-sonar-collector/archive/v1.0.0.tar.gz ,推荐使用。

第二步:编写配置文件

  • 进入hygieia-codequality-sonar-collector根目录
  • 在src/main/resources/目录下新建文件,文件名为sonar-build.properties
  • 修改配置文件 # Database Name dbname=xxxxx # Database HostName - default is localhost dbhost=xxx.xxx.xxx.xxx # Database Port - default is 27017 dbport=27017 # MongoDB replicaset dbreplicaset=false dbhostport=xxx.xxx.xxx.xxx:27017 # Database Username - default is blank dbusername=xxxxx # Database Password - default is blank dbpassword=xxxxx # Collector schedule (required) sonar.cron=0/10 * * * * * # Sonar server(s) (required) - Can provide multiple sonar.servers[0]=https://sonar.com # Sonar version, match array index to the server. If not set, will default to version prior to 6.3. sonar.versions[0]=6.7 # Sonar Metrics - Required. #Sonar versions lesser than 6.3 sonar.metrics[0]=ncloc,line_coverage,violations,critical_violations,major_violations,blocker_violations,violations_density,sqale_index,test_success_density,test_failures,test_errors,tests # For Sonar version 6.3 and above sonar.metrics[0]=ncloc,violations,new_vulnerabilities,critical_violations,major_violations,blocker_violations,tests,test_success_density,test_errors,test_failures,coverage,line_coverage,sqale_index,alert_status,quality_gate_details # Sonar login credentials #sonar.username= #sonar.password=
  • 编译打包: mvn clean install package

第三步:启动服务

  • 前台运行: java -jar target/sonar-codequality-collector-3.0.1.jar --spring.config.name=sonar --spring.config.location=src/main/resources/sonar-build.properties
  • 静默运行: nohup java -jar target/sonar-codequality-collector-3.0.1.jar --spring.config.name=sonar --spring.config.location=src/main/resources/sonar-build.properties &

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:穷小子

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-30

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 循环执行定时任务crontab

    小编最近在将线上服务器实时的请求都转到测试机,但是由于请求量太多导致log不久就写满磁盘了,手动清理费事费力,因此考虑到自动清理,接触到corntab定时任务。...

    用户5521279
  • Linux环境配置问题小记

    一、背景 前段时间小编做了一个关于输入法按键响应时间的评测,但已有的评测脚本在windows环境下不兼容,于是小编就搭建一个linux环境,但...

    用户5521279
  • 软件性能测试方案-性能测试工具选型

    在往期文章《软件性能测试方案-性能测试准备》介绍了前期性能测试准备的要点,本文主要介绍性能测试工具的选型。

    用户5521279
  • 番外:同步异步阻塞非阻塞,了解一下?(十三节)

    今天这一节严格意义上其实不能算一个章节而应该是一个番外篇。因为通过前面翔实而又丰富的内容中,我认为大家已经具备了可以理解[ 同步、异步、阻塞、非阻塞 ]的条件了...

    老李秀
  • 用VS2015作为Python的IDE

    不知道为什么,关于python IDE好多人都推荐用pycharm,但是无奈没人教,作为一只小白,真心不会用。于是就用了VS2015.

    py3study
  • nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题

    问题说明: 测试机上部署了一套业务环境,nginx反向代理tomcat,在访问时长时间处于加载中,十分缓慢! 通过浏览器调试(F12键->Console),发现...

    洗尽了浮华
  • 你是Python萌新吗?从遇见IDE开始吧

    你是Python萌新吗?你在学习Python吗?不管你是学一门课程还是自己学习,Thonny都是最适合初学者的IDE之一,它内置一些工具可以使你的开发过程更容易...

    三哥
  • Python规范

    PEP:Python的PEP文档是一组不断发展的标准文档,PEP是Python Enhancement Proposal的首字母缩写。就像TCPIP协议使用R...

    Petrichor_
  • [快学Python3]浏览Python Manuals

    概述 通常情况下,初学者都不愿意直接去浏览Python Manuals,即Python自带的官方文档。尤其是只有英文版的情况下,初学者更加不会去使用该官方文档了...

    苦叶子
  • 基于RGW的多媒体处理框架

    业务需要在原有RGW的服务基础上加上对多媒体类资源的处理,比如图片resize、视频转码等。参考过多个厂家的设计,发现对方的多媒体类处理都是在URL里面加上qu...

    用户1260683

扫码关注云+社区

领取腾讯云代金券