1. 程式人生 > >02-Centos7安裝部署Mirrorgate

02-Centos7安裝部署Mirrorgate

color name 控制臺 補充 環境變量 應用程序 dst change times

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

02-Centos7安裝部署Mirrorgate