同repository,多個系統:構建測試,snoar掃描,自動部署
variables:
SOURCE_PATH: "40_源碼/agxt"
SOURCE_PATH_XSPCH: "40_源碼/線索排查會"
SOURCE_PATH_ZJJD: "40_源碼/ZHBA"
SOURCE_PATH_ZJJDAPI: "40_源碼/api"
SOURCE_PATH_AJSLA6: "40_源碼/ajslNew"
SOURCE_PATH_AJSL: "40_源碼/AJSL"
PACKAGE_NAME: "*.?ar"
TARGET_IP_DEV_PZ: "172.23.26.78"
TARGET_USER: "root"
TARGET_PASSWORD: "jcw6789@jkl"
TARGET_DIR: "/home/ba/out"
SCRIPT_DIR: "/home/ba"
TARGET_SCRIPT: "sh _upgrade.sh"
SONAR_URL: "http://sonar.thunisoft.com"
SONAR_LOGIN: "1193ca99634421e6656f2444de264d65ec9988e9"
stages:
- test
- deploy
- check
pz-agxt_job:
stage: test
tags:
- expect
script:
- cd ${SOURCE_PATH}
- mvn --batch-mode clean package -DskipTests
pz-xspch_job:
stage: test
tags:
- expect
script:
- cd ${SOURCE_PATH_XSPCH}
- mvn --batch-mode clean package -DskipTests
pz-zjjd_job:
stage: test
tags:
- expect
script:
- cd ${SOURCE_PATH_ZJJD}
- mvn --batch-mode clean package -DskipTests
pz-zjjdApi_job:
stage: test
tags:
- expect
script:
- cd ${SOURCE_PATH_ZJJDAPI}
- mvn --batch-mode clean package -DskipTests
pz-ajsl_job:
stage: test
tags:
- expect
script:
- cd ${SOURCE_PATH_AJSL}
- mvn --batch-mode clean package -DskipTests
pz-ajslNew_job:
stage: test
tags:
- expect
script:
- cd ${SOURCE_PATH_AJSLA6}
- mvn --batch-mode clean package -DskipTests
sonarqube_preview_job:
stage: check
except:
- develop
tags:
- expect
script:
- cd ${SOURCE_PATH}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.analysis.mode=preview -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.ping_user=true -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
- cd ../../
- cd ${SOURCE_PATH_XSPCH}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.analysis.mode=preview -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.ping_user=true -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
- cd ../../
- cd ${SOURCE_PATH_ZJJDAPI}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.analysis.mode=preview -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.ping_user=true -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
- cd ../../
- cd ${SOURCE_PATH_AJSLA6}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.analysis.mode=preview -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.max_major_issues_gate=0 -Dsonar.gitlab.ping_user=true -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
sonarqube_report_job:
stage: check
tags:
- expect
only:
- develop
script:
- cd ${SOURCE_PATH}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
- cd ../../
- cd ${SOURCE_PATH_XSPCH}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
- cd ../../
- cd ${SOURCE_PATH_ZJJDAPI}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
- cd ../../
- cd ${SOURCE_PATH_AJSLA6}
- mvn --batch-mode compile sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.query_max_retry=100 -Dsonar.gitlab.query_wait=10000
deploy-dev-pz:
stage: deploy
tags:
- expect
only:
- develop
script:
- cd ${SOURCE_PATH}
- mvn package -DskipTests
- cd ../../
- cd ${SOURCE_PATH_XSPCH}
- mvn package -DskipTests
- cd ../../
- cd ${SOURCE_PATH_ZJJD}
- mvn package -DskipTests
- cd ../../
- cd ${SOURCE_PATH_ZJJDAPI}
- mvn package -DskipTests
- cd ../../
- cd ${SOURCE_PATH_AJSLA6}
- mvn package -DskipTests
- cd ../../
- cd ${SOURCE_PATH_AJSL}
- mvn package -DskipTests
- echo "=============== 開始部署任務-DEVELOP ==============="
- sshpass -p ${TARGET_PASSWORD} ssh -o StrictHostKeychecking=no ${TARGET_USER}@${TARGET_IP_DEV_PZ}
- echo "=============== 將程序包包部署到遠程服務器上 ==============="
- sshpass -p ${TARGET_PASSWORD} scp -o StrictHostKeychecking=no ../*/target/${PACKAGE_NAME} ${TARGET_USER}@${TARGET_IP_DEV_PZ}:${TARGET_DIR}
- echo "=============== 開始執行 ==============="
- sshpass -p ${TARGET_PASSWORD} ssh -o StrictHostKeychecking=no ${TARGET_USER}@${TARGET_IP_DEV_PZ} "cd ${SCRIPT_DIR} && ${TARGET_SCRIPT}"