1.以Docker方式运行

MirrorGate服务器作为docker镜像提供,因此要运行它只需在终端中执行以下命令:

注意mongo镜像要使用3.6版本,其他版本会提示版本问题。

#Spinup mongo db
docker run --name mongo mongo > /dev/null & #Run mirrorgate without security
docker run --env "SPRING_DATA_MONGODB_URI=mongodb://mongo:27017/dashboard" --env "SPRING_PROFILES_ACTIVE=embedded" --link="mongo" -p8080: bbvaae/mirrorgate

访问mirrorgate服务器的控制台,创建一个新的仪表盘,设置“BuildJobs”字段为MirrorGateTest。点击eys图标保存到仪表盘中。

在打开保存仪表板的同时运行以下命令:

curl - -v http://localhost:8080/api/builds \
-H "Expect:" \
-H 'Content-Type: application/json; charset=utf-8' \
-d @- << EOF
{
"number" : "$(date +%s)",
"buildStatus" : "Failure",
"buildUrl": "#$(date +%s)",
"timestamp": $(date +%s),
"projectName" : "MirrorGateTest",
"repoName" : "MyRepo",
"branch" : "master"
}
EOF
您现在可以在打开的仪表板中看到构建状态。

2.组件

为了操作 ,Mirrorgate需要几个组件:

  主mirrorgate应用程序: 使用docker bbva-ae/mirrorgate容器执行。

MongoDB数据库: 应该使用SPRING_DATA_MONGODB_URI环境变量绑定到应用程序。

收集者:收集者是负责向应用程序收集和推送消息的组件。当前有以下组件

Jenkins插件:是一个从jenkinsCI服务器推送消息的插件。

JIRAcollector :是一个独立的应用程序。可以在每个可配置的时间内轮询jira服务器以进行更改。

3.对于开发人员

构建项目所需依赖:

  nodejs >= 6   jdk >= 7    docker   docker-compose

项目结构:

[root@node1 mirrorgate-0.3.0]# ll  | awk '{print $NF}'
60
CHANGELOG.md
CONTRIBUTING.md
docker # 包含工具来构建一个mirrorgate镜像
Jenkinsfile
LICENSE
mirrorgate-api #包含API后端源
mirrorgate-backoffice #包含仪表盘管理应用程序
mirrorgate-dashboard #包含前端源码
mirrorgate-docs
README.md
scripts
tests # 包含应用程序,将所有部分放在一起,并在开发时将他们作为一个整体执行

4.如何安装?

.确保已经安装了上面所说的依赖项
.克隆mirrorgate项目的源代码
.执行 sh scripts/buildAndRun.sh
.等待一段时间直到 tomcat启动 端口为8080
.打开浏览器访问 http://localhost:8080/mirrorgate/backoffice/ index.html

5.安装补充

运行buildAndRun.sh 其实就是执行 buildAll.sh  然后再tests目录运行run.sh完成。我在安装的期间出现了很多问题,所有建议安装的时候一步一步的安装,不要直接运行整个脚本,这样会很难排查问题。 脚本中pushed 是进入到某个目录  popd 是删除目录。以下是buildAll.sh的脚本内容。在执行脚本前,将npm源改成国内淘宝的,还有gradle 也需要改一下maven的仓库地址。 详见FAQ文档。

#!/usr/bin/env bash

set -e

CUR_DIR=$(pwd)
trap 'cd $CUR_DIR' EXIT
cd "$(dirname "$")"

#构建dashboard
pushd ../mirrorgate-dashboard
#
npm install --unsafe-perm=true --allow-root #添加后面这两个选项否则后面可能会出现权限问题
$(npm bin)/bower install --allow-root #必须添加--allow-root选项,不加以root运行后面必出权限问题
$(npm bin)/gulp dist
#
popd

#构建后台
pushd ../mirrorgate-backoffice
##
npm install --unsafe-perm=true --allow-root #同上
npm run build
##
popd
#
#pushd ../mirrorgate-docs
#
#npm install --unsafe-perm=true --allow-root && ./node_modules/.bin/bower install --allow-root #同上
#npm run build
#
#popd
# #构建 API
pushd ../mirrorgate-api
#
./gradlew clean build
#
popd

02-Centos7安装部署Mirrorgate的更多相关文章

  1. CentOS7安装部署zabbix3.4操作记录

    CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...

  2. centos7 安装部署运行 Redis5

    原文:centos7 安装部署运行 Redis5 Redis5 下载与解压(官网: https://redis.io/download ) 下载命令:wget http://download.redi ...

  3. 容器centos7安装部署ansible

    容器centos7安装部署ansible centos镜像版本及ansible版本 centos:centos7.5.1804 ansible:2.9.11 启动容器并进入容器 docker run ...

  4. Centos7安装部署搭建gitlab平台、汉化

    Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...

  5. centos7安装部署opentsdb2.4.0

    写在前面 安装HBase 在HBase中创建表结构 安装配置并启动opentsdb 写在前面 最近因为项目需要在读opentsdb的一部分源码,后面会做个小结分享出来.本人是不大喜欢写这种安装部署的文 ...

  6. centos7 安装部署 Jenkins

    Jenkins 安装部署 1. 安装资源下载 Jenkin镜像地址: http://mirrors.jenkins-ci.org/status.html 选择清华大学镜像地址下载rpm https:/ ...

  7. centos7安装部署SVN

      SVN介绍 SVN是个自由.开源的版本控制系统,绝大多数开源软件都使用SVN作为代码版本管理软件. SVN的官方网站http://subversion.apache.org/.目前SVN在开源社区 ...

  8. Centos7 安装部署Kubernetes(k8s)集群

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...

  9. Centos7 安装部署 Airflow

    本人在centos7 的环境下部署,怎么在centos7 下配置静态 IP 关闭防火墙 以及安装jdk在这里不多赘述, centos7 配置静态ip可以参考:https://www.cnblogs.c ...

  10. centos6.5/centos7安装部署企业内部知识管理社区系统wecenter

    企业内部知识系统wecenter社区系统安装及部署 centos 6.5环境安装 因为是公司内部使用在线人数不会太多,使用yum安装lamp环境即可 1.安装lamp基本环境 yum -y insta ...

随机推荐

  1. vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效解决方法

    我要实现的功能是在上传文件之前校验是否表格中存在重复的数据,有的话,需要弹窗提示是否覆盖,确认之后继续上传,取消之后,就不再上传. 项目中用的element-ui是V1.4.3 <el-uplo ...

  2. element-ui select组件中复选时以字符串形式显示

    我使用的element-ui的版本是1.4.13. 如上图所示,使用el-select组件,要实现可搜索.可复选.可创建条目时,展示样式是如上图所示,输入框的高度会撑开,影响页面布局,按照产品的需求, ...

  3. 【读书笔记】iOS-流式音频与Pandora Radio之路

    复杂性是不可避免的,而且只会随时间增长,所以在增加特性时一定要为重构和代码简化留出时间.真正遇到问题这前先不要担心性能.iPhone非常强壮,你可能永远也不会遇到预想的性能问题. 能过互联网向一个设备 ...

  4. 【读书笔记】iOS-设计简单的Frenzic式益智游戏

    如果你决定用UIView动画或Core Animation,一定要编写一些测试用例,模拟游戏可能遇到的要求最高的动画,另外不要忘记播放声音.不要等到最后才增加声音,因为在iPhone上播放音乐和音效确 ...

  5. Html5画钟表盘/指针实时跳动

    1.最终效果 时钟.分钟.秒指针连续移动2.完整代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&q ...

  6. (网页)Uncaught ReferenceError: pageImport is not defined

    在js开发中,很多人遇到类似问题,都找不到解决方法.Uncaught ReferenceError: $ is not defined,在这里给大家提供几个解决方法. 1.出现这个错误,最可能的是引用 ...

  7. TensorFlow深度学习入门

    # -*- coding: utf-8 -*- """ Created on Tue Oct 2 15:49:08 2018 @author: zhen "&q ...

  8. js中var的有或无--重复声明和以后的声明

    js中var的有或无--重复声明和以后的声明 使用var语句多次声明一个变量不仅是合法的,而且也不会造成任何错误. 如果重复使用的一个声明有一个初始值,那么它担当的不过是一个赋值语句的角色. 如果重复 ...

  9. 监控.net 网站 Glimpse

    使用Nuget 安装Glimpse 安装好后,config会默认添加几个节点 安装好之后 只需要浏览器输入  网站/Glimpse.axd 再次进入网站 就可以查看(ajax sql session ...

  10. linux 系统中用root切换到普通用户时显示的异常如-bash-4.1$

    解决办法: 其实就是普通用户的家目录缺少配置文件导致: [root@xxx ~]# su - oldboy -bash-4.1$ 原因是普通用户的家目录下缺少文件: [root@xxx ~]# ls ...