|
| 1 | +variables: |
| 2 | + PATH: /opt/go-1.23/go/bin/:/opt/node-1.22/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin |
| 3 | + GOROOT: /opt/go-1.23/go |
| 4 | + GOPROXY: https://goproxy.cn |
| 5 | + VERSION: $CI_COMMIT_SHORT_SHA |
| 6 | + APP: apipark |
| 7 | + APP_PRE: ${APP}_${VERSION} |
| 8 | + BUILD_DIR: ${APP}-build |
| 9 | + DEPLOY_DESC: "DEV 环境" |
| 10 | + VIEW_ADDR: http://172.18.166.219:8288 |
| 11 | + SAVE_DIR: /opt/${APP} |
| 12 | + NODE_OPTIONS: --max_old_space_size=8192 |
| 13 | + |
| 14 | +stages: |
| 15 | +# - notice |
| 16 | + - build |
| 17 | + - deploy |
| 18 | + - webhook |
| 19 | +# |
| 20 | +#feishu-informer: # 飞书回调 |
| 21 | +# stage: notice |
| 22 | +# variables: |
| 23 | +# DIFF_URL: "$CI_MERGE_REQUEST_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_IID/diffs" |
| 24 | +# rules: |
| 25 | +# - if: $CI_PIPELINE_SOURCE=="merge_request_event" && $CI_COMMIT_BRANCH =~ "main-github-pro" |
| 26 | +# script: |
| 27 | +# - echo "merge request" |
| 28 | +# - | |
| 29 | +# curl -X POST -H "Content-Type: application/json" \ |
| 30 | +# -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"项目:${CI_PROJECT_NAME}\\n提交人:${GITLAB_USER_NAME}\\n提交信息:${CI_MERGE_REQUEST_TITLE}\\n合并分支信息:${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} -> ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}\\n差异性地址:${DIFF_URL}\\n请及时review代码\"}}" \ |
| 31 | +# ${FEISHU_WEBHOOK} |
| 32 | + |
| 33 | +builder: |
| 34 | + stage: build |
| 35 | + rules: |
| 36 | + - if: $CI_COMMIT_BRANCH == "main-github-pro" || $CI_COMMIT_BRANCH == "main" |
| 37 | + script: |
| 38 | + - set -e |
| 39 | + - | |
| 40 | + if [ ! -d "../artifacts" ]; then |
| 41 | + mkdir -p ../artifacts |
| 42 | + fi |
| 43 | + if [ -d "../artifacts/dist" ]; then |
| 44 | + cp -r ../artifacts/dist frontend/dist |
| 45 | + fi |
| 46 | + - | |
| 47 | + if [ -n "$(git diff --name-status HEAD~1 HEAD -- frontend)" ]; then |
| 48 | + ./scripts/build.sh $BUILD_DIR ${VERSION} all "" |
| 49 | + else |
| 50 | + ./scripts/build.sh $BUILD_DIR ${VERSION} |
| 51 | + fi |
| 52 | + if [ -d "frontend/dist" ]; then |
| 53 | + echo "copy frontend/dist to artifacts/dist" |
| 54 | + rm -fr ../artifacts/dist |
| 55 | + cp -r frontend/dist ../artifacts/dist |
| 56 | + fi |
| 57 | + cp $BUILD_DIR/${APP_PRE}_linux_amd64.tar.gz ${SAVE_DIR} |
| 58 | +
|
| 59 | +deployer: |
| 60 | + stage: deploy |
| 61 | + rules: |
| 62 | + - if: $CI_COMMIT_BRANCH == "main-github-pro" || $CI_COMMIT_BRANCH == "main" |
| 63 | + variables: |
| 64 | + APIPARK_GUEST_MODE: allow |
| 65 | + APIPARK_GUEST_ID: dklejrfbhjqwdh |
| 66 | + script: |
| 67 | + - cd ${SAVE_DIR};mkdir -p ${APP_PRE};tar -zxvf ${APP_PRE}_linux_amd64.tar.gz -C ${APP_PRE};cd ${APP_PRE};./install.sh ${SAVE_DIR};./run.sh restart;cd ${SAVE_DIR} && ./clean.sh ${APP_PRE} |
| 68 | + when: on_success |
| 69 | +success: |
| 70 | + stage: webhook |
| 71 | + rules: |
| 72 | + - if: $CI_COMMIT_BRANCH == "main-github-pro" || $CI_COMMIT_BRANCH == "main" |
| 73 | + script: |
| 74 | + - | |
| 75 | + curl -X POST -H "Content-Type: application/json" \ |
| 76 | + -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"最近一次提交:${CI_COMMIT_TITLE}\\n提交人:${GITLAB_USER_NAME}\\n项目:${CI_PROJECT_NAME}\\n环境:${DEPLOY_DESC}\\n更新部署完成.\\n访问地址:${VIEW_ADDR}\\n工作流地址:${CI_PIPELINE_URL}\"}}" \ |
| 77 | + ${FEISHU_WEBHOOK} |
| 78 | + when: on_success |
| 79 | +failure: |
| 80 | + stage: webhook |
| 81 | + rules: |
| 82 | + - if: $CI_COMMIT_BRANCH == "main-github-pro" || $CI_COMMIT_BRANCH == "main" |
| 83 | + script: |
| 84 | + - | |
| 85 | + curl -X POST -H "Content-Type: application/json" \ |
| 86 | + -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"最近一次提交:${CI_COMMIT_TITLE}\\n提交人:${GITLAB_USER_NAME}\\n项目:${CI_PROJECT_NAME}\\n环境:${DEPLOY_DESC}\\n更新部署失败,请及时到gitlab上查看\\n工作流地址:${CI_PIPELINE_URL}\"}}" \ |
| 87 | + ${FEISHU_WEBHOOK} |
| 88 | + when: on_failure |
0 commit comments