• 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
  • 相关阅读:
    转 方法多态与Duck typing;C#之拙劣与F#之优雅
    Steve Jobs explains objectoriented programming
    c# 之 dynamic关键字
    Eric Schmidt 之关于 Steve Jobs
    面向过程vs面向对象
    转 命令,不要去询问(Tell, Don’t Ask)
    转 函数式编程的10年演化:越来越纯
    网络流学习笔记——简单题
    网络流学习笔记——难题
    线性代数学习笔记
  • 原文地址:https://www.cnblogs.com/mascot1/p/10014597.html
Copyright © 2020-2023  润新知