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:8080 bbvaae/mirrorgate

 

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

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

curl -0 -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)000,
    "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.如何安装?

0.确保已经安装了上面所说的依赖项
1.克隆mirrorgate项目的源代码
2.执行 sh scripts/buildAndRun.sh
3.等待一段时间直到 tomcat启动 端口为8080
4.打开浏览器访问 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 "$0")"

#构建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

 

posted @ 2018-11-25 08:52  Zeyangli  阅读(225)  评论(0编辑  收藏  举报