02-Centos7安装部署Mirrorgate
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的更多相关文章
- CentOS7安装部署zabbix3.4操作记录
CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...
- centos7 安装部署运行 Redis5
原文:centos7 安装部署运行 Redis5 Redis5 下载与解压(官网: https://redis.io/download ) 下载命令:wget http://download.redi ...
- 容器centos7安装部署ansible
容器centos7安装部署ansible centos镜像版本及ansible版本 centos:centos7.5.1804 ansible:2.9.11 启动容器并进入容器 docker run ...
- Centos7安装部署搭建gitlab平台、汉化
Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...
- centos7安装部署opentsdb2.4.0
写在前面 安装HBase 在HBase中创建表结构 安装配置并启动opentsdb 写在前面 最近因为项目需要在读opentsdb的一部分源码,后面会做个小结分享出来.本人是不大喜欢写这种安装部署的文 ...
- centos7 安装部署 Jenkins
Jenkins 安装部署 1. 安装资源下载 Jenkin镜像地址: http://mirrors.jenkins-ci.org/status.html 选择清华大学镜像地址下载rpm https:/ ...
- centos7安装部署SVN
SVN介绍 SVN是个自由.开源的版本控制系统,绝大多数开源软件都使用SVN作为代码版本管理软件. SVN的官方网站http://subversion.apache.org/.目前SVN在开源社区 ...
- Centos7 安装部署Kubernetes(k8s)集群
目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...
- Centos7 安装部署 Airflow
本人在centos7 的环境下部署,怎么在centos7 下配置静态 IP 关闭防火墙 以及安装jdk在这里不多赘述, centos7 配置静态ip可以参考:https://www.cnblogs.c ...
- centos6.5/centos7安装部署企业内部知识管理社区系统wecenter
企业内部知识系统wecenter社区系统安装及部署 centos 6.5环境安装 因为是公司内部使用在线人数不会太多,使用yum安装lamp环境即可 1.安装lamp基本环境 yum -y insta ...
随机推荐
- python之装饰器(函数)
1. 装饰器 遵循的原则: 开闭原则: 对功能的扩展开放 对代码的修改是封闭 # 通用装饰器写法 # 存在的意义: 在不破坏原有函数和原有函数调用的基础上,给函数添加新的功能. def wrapp ...
- WebLogic 11g的安装与配置详谈配置详谈
之前以weblogic8.1为例介绍了其具体安装,但是由于现在weblogic 11g毕竟使用越来越广泛 ,因此,下面将介绍weblogic 11g的具体安装以及配置: 一.安装步骤(基本跟之前we ...
- ssms2014和ssms2016版本错误定位的区别
偶尔对比起2016以下的版本(比如ssms2014),ssms2016有一个小地方有区别.就是报错的行号有区别 举个例子,下面同样的语句在ssms2014和ssms2016里面运行.就是如下的效果 C ...
- CentOS7:解决Packagekit占用yum问题
首先: vim /etc/yum/pluginconf.d/langpacks.conf 将第一行:enable=1改为enable=0 然后执行一下yum命令,发现还会占用,杀死线程即可.
- [20170904]11Gr2 查询光标为什么不共享脚本.txt
[20170904]11Gr2 查询光标为什么不共享脚本.txt --//参考链接下面的注解脚本:https://carlos-sierra.net/2017/09/01/poors-man-scri ...
- ARM有几条memory barrier 的指令?分别有什么区别?
从ARMv7指令集开始,ARM提供3条内存屏障指令. (1)数据存储屏障( Data Memory Barrier,DMB) 数据存储器隔离.DMB指令保证:仅当所有在它前面的存储器访问操作都执行完毕 ...
- 安装slide后Powerpoint 不自动退出的解决方案
症状 打开PPT文件,powerpoint界面不启动. 原因 安装slide之后,powerpoint关闭后,powerpnt.exe进程不正常退出,需要手工终止. 解决方案 打开cmd,进入slid ...
- February 10th, 2018 Week 6th Saturday
It is not enough to have a good mind. The main thing is to use it well. 头脑聪明还不够,重要的是好好运用. From Rene ...
- 关于HashMap自定义key重写hashCode和equals的问题
使用HashMap,如果key是自定义的类,就必须重写hashcode()和equals() hashcode()和equals()都继承于object,在Object类中的定义为: equals( ...
- Java 堆内存 新生代 (转)
Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象.在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ( You ...