From 2ef676278559b014a9fc022dc1196a56fca2da07 Mon Sep 17 00:00:00 2001 From: pywee Date: Mon, 6 Jul 2026 17:06:48 +0800 Subject: [PATCH] ok --- 20260701_front.yaml | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/20260701_front.yaml b/20260701_front.yaml index 33cbd79..20cbeb5 100644 --- a/20260701_front.yaml +++ b/20260701_front.yaml @@ -327,10 +327,11 @@ steps: - git pull origin release - docker login harbor.bluettipower.com -u bluetti -p cjJXBbkHlvVWH2B - | + diff_failed=0 if [ "${DRONE_COMMIT_BEFORE}" = "0000000000000000000000000000000000000000" ]; then - changed_files=$(git diff-tree --no-commit-id --name-only -r ${DRONE_COMMIT_AFTER}) + changed_files=$(git diff-tree --no-commit-id --name-only -r ${DRONE_COMMIT_AFTER}) || diff_failed=1 else - changed_files=$(git diff --name-only ${DRONE_COMMIT_BEFORE} ${DRONE_COMMIT_AFTER}) + changed_files=$(git diff --name-only ${DRONE_COMMIT_BEFORE} ${DRONE_COMMIT_AFTER}) || diff_failed=1 fi export TARGET_SITES="shopify-australia shopify-x" @@ -353,6 +354,10 @@ steps: export BUILD_ENV="production" export COMMIT_SHA=${DRONE_COMMIT:0:10} echo "本次变更文件:" + if [ "$diff_failed" -eq 1 ]; then + echo "⚠️ 变更范围计算失败,回退为全量部署。" + changed_files="packages/__force_full_deploy__" + fi echo "$changed_files" full_build_changes=$(echo "$changed_files" | grep -E "^(package\.json|pnpm-lock\.yaml|pnpm-workspace\.yaml|turbo\.json|docker-compose.*\.ya?ml|packages/|patches/)" | wc -l) @@ -518,13 +523,14 @@ steps: script: - echo ">>>>>> 开始连接远程服务器 <<<<<<" - cd /bluetti/frontend_project/bluetti-shop - - git pull origin release + - git pull origin main - docker login harbor.bluettipower.com -u bluetti -p cjJXBbkHlvVWH2B - | + diff_failed=0 if [ "${DRONE_COMMIT_BEFORE}" = "0000000000000000000000000000000000000000" ]; then - changed_files=$(git diff-tree --no-commit-id --name-only -r ${DRONE_COMMIT_AFTER}) + changed_files=$(git diff-tree --no-commit-id --name-only -r ${DRONE_COMMIT_AFTER}) || diff_failed=1 else - changed_files=$(git diff --name-only ${DRONE_COMMIT_BEFORE} ${DRONE_COMMIT_AFTER}) + changed_files=$(git diff --name-only ${DRONE_COMMIT_BEFORE} ${DRONE_COMMIT_AFTER}) || diff_failed=1 fi export TARGET_SITES="shopify-australia shopify-x" @@ -534,6 +540,10 @@ steps: export BUILD_ENV="production" export COMMIT_SHA=${DRONE_COMMIT:0:10} echo "本次变更文件:" + if [ "$diff_failed" -eq 1 ]; then + echo "⚠️ 变更范围计算失败,回退为全量部署。" + changed_files="packages/__force_full_deploy__" + fi echo "$changed_files" full_build_changes=$(echo "$changed_files" | grep -E "^(package\.json|pnpm-lock\.yaml|pnpm-workspace\.yaml|turbo\.json|docker-compose.*\.ya?ml|packages/|patches/)" | wc -l) @@ -617,6 +627,17 @@ depends_on: - RC-frontend-monorepo-ci - PROD-frontend-monorepo-ci +trigger: + event: + - push + - promote + - rollback + branch: + - dev + - test + - release + - main + steps: - name: send-dingtalk-notification image: lddsb/drone-dingtalk-message @@ -638,15 +659,6 @@ steps: status: - success - failure - event: - - push - - promote - - rollback - branch: - - dev - - test - - release - - main volumes: - name: dingtalk-tpl