Commit 15e9410f by “zcwang”

init: gitLab ci

parent d56e6d10
include:
- project: tech/ci-operator
file: /yanxuan-qc-change-system/gitlab-ci.yml
ref: master
\ No newline at end of file
variables:
SERVICE_CODE: 'yanxuan-qc-change-system'
TARGET_FILE_PATH: './build' #目标文件所在的目录; 根据实际情况修改
TARGET_FILE_NAME: 'yanxuan-qc-change-system.jar' #目标文件的文件名,根据实际情况修改
ARTIFACT_NAME: 'yanxuan-qc-change-system.jar' #制品名, 主要是考虑目标文件和制品文件文件名不一致的情况;如果一致, 则和目标文件名一致
DEV_SETENV_FILE_PATH: './deploy/env/setenv-dev.sh' #开发环境setenv文件路径
TEST_SETENV_FILE_PATH: './deploy/env/setenv-test.sh' #测试环境setenv文件路径
ONLINE_SETENV_FILE_PATH: './deploy/env/setenv-online.sh' #线上环境setenv文件路径
stages:
- inspection
- unitTest
- package
- upload-bee
- upload
#inspection
#inspection-job:
# stage: inspection
# script:
# - ci_tools inspection $SERVICE_CODE $CI_COMMIT_REF_NAME $CI_PIPELINE_ID
# tags:
# - ci-backend
#unitTest-job:
# stage: unitTest
# script:
# - mvn clean org.jacoco:jacoco-maven-plugin:0.8.2:prepare-agent test org.jacoco:jacoco-maven-plugin:0.8.2:report -Dmaven.test.failure.ignore=true
# - ci_tools report_unit_test_result $TARGET_FILE_PATH/site/jacoco/jacoco.xml $SERVICE_CODE $CI_COMMIT_REF_NAME $CI_PIPELINE_ID
# tags:
# - ci-backend
################
# Test
################
test_package:
stage: package
script:
- mvn clean -U package -Ptest -Dmaven.test.skip=true -Dencoding=UTF-8
- mv $TARGET_FILE_PATH/$TARGET_FILE_NAME $ARTIFACT_NAME
- mv $TEST_SETENV_FILE_PATH ./setenv.sh
- zip $CI_PROJECT_NAME.zip ./setenv.sh $ARTIFACT_NAME
tags:
- ci-backend
artifacts:
paths:
- $CI_PROJECT_NAME.zip
- swagger/
expire_in: 1d
except:
- master
test_upload_bee:
stage: upload-bee
script:
- cd swagger
- beeUpload $SERVICE_CODE $CI_BUILD_REF_NAME $GITLAB_USER_NAME $GITLAB_USER_EMAIL
tags:
- ci-backend
except:
- master
dependencies:
- test_package
test_image_upload:
stage: upload
script:
- version_tools time && CURRENT_TIMESTAMP=$(version_tools result)
- version_tools version && PROJECT_VERSION=$(version_tools result)
- IMAGE_TAG="${PROJECT_VERSION}-${CI_COMMIT_REF_NAME##*/}-${CURRENT_TIMESTAMP}-${CI_PIPELINE_ID}"
- IMAGE_NAME="${HARBOR_URL}/${HARBOR_APP_DIRECTOR}/${SERVICE_CODE}:${IMAGE_TAG}"
- unzip -o -q $CI_PROJECT_NAME.zip -d .
- docker build --pull -t ${IMAGE_NAME} .
- eval opera docker $OPERA_ARGS --env=test --imageName=${IMAGE_NAME} --imageTag=${IMAGE_TAG} --autoDeploy=true --clusterId=44 --ldcCode=cluster1
tags:
- ci-backend
only:
- dev
- /^feature-.*$/
dependencies:
- test_package
################
# Online
################
online_package:
stage: package
script:
- mvn clean -U package -Ponline -Dmaven.test.skip=true -Dencoding=UTF-8
- mv $TARGET_FILE_PATH/$TARGET_FILE_NAME $ARTIFACT_NAME
- mv $ONLINE_SETENV_FILE_PATH ./setenv.sh
- zip $CI_PROJECT_NAME.zip ./setenv.sh $ARTIFACT_NAME
tags:
- ci-backend
artifacts:
paths:
- $CI_PROJECT_NAME.zip
- swagger/
expire_in: 1d
only:
- master
online_upload_bee:
stage: upload-bee
script:
- cd swagger
- beeUpload $SERVICE_CODE $CI_BUILD_REF_NAME $GITLAB_USER_NAME $GITLAB_USER_EMAIL
tags:
- ci-backend
only:
- master
dependencies:
- online_package
online_image_upload:
stage: upload
script:
- version_tools time && CURRENT_TIMESTAMP=$(version_tools result)
- version_tools version && PROJECT_VERSION=$(version_tools result)
- IMAGE_TAG="${PROJECT_VERSION}-${CI_COMMIT_REF_NAME##*/}-${CURRENT_TIMESTAMP}-${CI_PIPELINE_ID}"
- IMAGE_NAME="${HARBOR_URL}/${HARBOR_APP_DIRECTOR}/${SERVICE_CODE}:${IMAGE_TAG}"
- unzip -o -q $CI_PROJECT_NAME.zip -d .
- docker build -t ${IMAGE_NAME} .
- eval opera docker $OPERA_ARGS --env=online --imageName=${IMAGE_NAME} --imageTag=${IMAGE_TAG}
tags:
- ci-backend
only:
- master
dependencies:
- online_package
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment