@@ -10,13 +10,14 @@ variables:
1010 VIEW_ADDR : http://172.18.166.219:8288
1111 SAVE_DIR : /opt/${APP}
1212 NODE_OPTIONS : --max_old_space_size=8192
13+ SKIP : " true"
1314
1415stages :
1516 - sync
16- # - notice
17- # - build
18- # - deploy
19- # - webhook
17+ - notice
18+ - build
19+ - deploy
20+ - webhook
2021
2122sync_job :
2223 stage : sync
@@ -31,7 +32,6 @@ sync_job:
3132 - cd repo-cache
3233 # 获取 GitHub main 分支的最新提交
3334 - git pull origin main
34-
3535 # 获取 GitLab main 分支的最新提交
3636 - git fetch ${GITLAB_REPO} main:gitlab-main
3737 - DIFF=$(git diff main gitlab-main)
@@ -40,6 +40,7 @@ sync_job:
4040 - echo "Differences detected, syncing to GitLab..."
4141 # 推送到 GitLab main 分支
4242 - git push "$GITLAB_REPO" "main:main"
43+ - SKIP=false
4344 - else
4445 - echo "No differences found between GitHub and GitLab main branches."
4546 - fi
@@ -50,79 +51,74 @@ sync_job:
5051 paths :
5152 - repo-cache/
5253
53- # build_job:
54- # stage: build
55- # script:
56- # - echo "Building the project..."
57- # only:
58- # - main
59- #
60- # feishu-informer: # 飞书回调
61- # stage: notice
62- # variables:
63- # DIFF_URL: "$CI_MERGE_REQUEST_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_IID/diffs"
54+ feishu-informer : # 飞书回调
55+ stage : notice
56+ variables :
57+ DIFF_URL : " $CI_MERGE_REQUEST_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_IID/diffs"
58+ rules :
59+ - if : $SKIP == "false"
6460# rules:
6561# - if: $CI_PIPELINE_SOURCE=="merge_request_event" && $CI_COMMIT_BRANCH =~ "main"
66- # script:
67- # - echo "merge request"
68- # - |
69- # curl -X POST -H "Content-Type: application/json" \
70- # -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代码\"}}" \
71- # https://open.feishu.cn/open-apis/bot/v2/hook/1c334752-2874-41a1-8f1b-3060f2d46b6c
72- #
73- # # builder:
74- # # stage: build
75- # # rules:
76- # # - if: $CI_COMMIT_BRANCH == "main "
77- # # script:
78- # # - set -e
79- # # - |
80- # # if [ ! -d "../artifacts" ]; then
81- # # mkdir -p ../artifacts
82- # # fi
83- # # if [ -d "../artifacts/dist" ]; then
84- # # cp -r ../artifacts/dist frontend/dist
85- # # fi
86- # # - |
87- # # if [ -n "$(git diff --name-status HEAD~1 HEAD -- frontend)" ]; then
88- # # ./scripts/build.sh $BUILD_DIR ${VERSION} all ""
89- # # else
90- # # ./scripts/build.sh $BUILD_DIR ${VERSION}
91- # # fi
92- # # if [ -d "frontend/dist" ]; then
93- # # echo "copy frontend/dist to artifacts/dist"
94- # # rm -fr ../artifacts/dist
95- # # cp -r frontend/dist ../artifacts/dist
96- # # fi
97- # # cp $BUILD_DIR/${APP_PRE}_linux_amd64.tar.gz ${SAVE_DIR}
98- #
99- # deployer:
100- # stage: deploy
101- # rules:
102- # - if: $CI_COMMIT_BRANCH == "main "
103- # variables:
104- # APIPARK_GUEST_MODE: allow
105- # APIPARK_GUEST_ID: dklejrfbhjqwdh
106- # script:
107- # - 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}
108- # when: on_success
109- # success:
110- # stage: webhook
111- # rules:
112- # - if: $CI_COMMIT_BRANCH == "main"
113- # script:
114- # - |
115- # curl -X POST -H "Content-Type: application/json" \
116- # -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}\"}}" \
117- # https://open.feishu.cn/open-apis/bot/v2/hook/c3672932-4dfa-4989-8023-0128bae59338
118- # when: on_success
119- # failure:
120- # stage: webhook
121- # rules:
122- # - if: $CI_COMMIT_BRANCH == "main "
123- # script:
124- # - |
125- # curl -X POST -H "Content-Type: application/json" \
126- # -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}\"}}" \
127- # https://open.feishu.cn/open-apis/bot/v2/hook/c3672932-4dfa-4989-8023-0128bae59338
128- # when: on_failure
62+ script :
63+ - echo "merge request"
64+ - |
65+ curl -X POST -H "Content-Type: application/json" \
66+ -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代码\"}}" \
67+ https://open.feishu.cn/open-apis/bot/v2/hook/1c334752-2874-41a1-8f1b-3060f2d46b6c
68+
69+ builder :
70+ stage : build
71+ rules :
72+ - if : $SKIP == "false "
73+ script :
74+ - set -e
75+ - |
76+ if [ ! -d "../artifacts" ]; then
77+ mkdir -p ../artifacts
78+ fi
79+ if [ -d "../artifacts/dist" ]; then
80+ cp -r ../artifacts/dist frontend/dist
81+ fi
82+ - |
83+ if [ -n "$(git diff --name-status HEAD~1 HEAD -- frontend)" ]; then
84+ ./scripts/build.sh $BUILD_DIR ${VERSION} all ""
85+ else
86+ ./scripts/build.sh $BUILD_DIR ${VERSION}
87+ fi
88+ if [ -d "frontend/dist" ]; then
89+ echo "copy frontend/dist to artifacts/dist"
90+ rm -fr ../artifacts/dist
91+ cp -r frontend/dist ../artifacts/dist
92+ fi
93+ cp $BUILD_DIR/${APP_PRE}_linux_amd64.tar.gz ${SAVE_DIR}
94+
95+ deployer :
96+ stage : deploy
97+ rules :
98+ - if : $SKIP == "false "
99+ variables :
100+ APIPARK_GUEST_MODE : allow
101+ APIPARK_GUEST_ID : dklejrfbhjqwdh
102+ script :
103+ - 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}
104+ when : on_success
105+ success :
106+ stage : webhook
107+ rules :
108+ - if : $CI_COMMIT_BRANCH == "main"
109+ script :
110+ - |
111+ curl -X POST -H "Content-Type: application/json" \
112+ -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}\"}}" \
113+ https://open.feishu.cn/open-apis/bot/v2/hook/c3672932-4dfa-4989-8023-0128bae59338
114+ when : on_success
115+ failure :
116+ stage : webhook
117+ rules :
118+ - if : $SKIP == "false "
119+ script :
120+ - |
121+ curl -X POST -H "Content-Type: application/json" \
122+ -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}\"}}" \
123+ https://open.feishu.cn/open-apis/bot/v2/hook/c3672932-4dfa-4989-8023-0128bae59338
124+ when : on_failure
0 commit comments