02-Centos7安裝部署Mirrorgate
阿新 • • 發佈:2018-11-25
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