v4.0.17企业微信API插件优化

This commit is contained in:
2026-09-06 09:36:49 +08:00
parent 0e711be6c6
commit 192a401227
36 changed files with 2416 additions and 103 deletions
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/env bash
# 推送当前 dev_jacy 分支到远程 origin/dev_jacy
# 用法: deploy/git-push-dev-jacy.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
GIT_REMOTE="${GIT_REMOTE:-origin}"
DEV_BRANCH="${DEV_BRANCH:-dev_jacy}"
cd "$REPO_ROOT"
if [[ -n "$(git status --porcelain)" ]]; then
echo "ERROR: 工作区有未提交更改,请先 commit 或 stash" >&2
exit 1
fi
CURRENT="$(git branch --show-current)"
if [[ "$CURRENT" != "$DEV_BRANCH" ]]; then
echo "ERROR: 当前分支为 $CURRENT,请先 checkout $DEV_BRANCH" >&2
exit 1
fi
echo "==> fetch $GIT_REMOTE"
git fetch "$GIT_REMOTE"
echo "==> push $DEV_BRANCH -> $GIT_REMOTE/$DEV_BRANCH"
git push -u "$GIT_REMOTE" "$DEV_BRANCH"
echo "==> 完成: $(git rev-parse --short HEAD) 已推送到 $GIT_REMOTE/$DEV_BRANCH"
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env bash
# 将 dev_jacy 合并到 dev 并推送(staging 测试分支)
# 用法: deploy/git-sync-to-dev.sh [merge message]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
GIT_REMOTE="${GIT_REMOTE:-origin}"
DEV_BRANCH="${DEV_BRANCH:-dev_jacy}"
STAGING_BRANCH="${STAGING_BRANCH:-dev}"
MERGE_MSG="${1:-merge($DEV_BRANCH): sync to $STAGING_BRANCH}"
cd "$REPO_ROOT"
if [[ -n "$(git status --porcelain)" ]]; then
echo "ERROR: 工作区有未提交更改,请先 commit 或 stash" >&2
exit 1
fi
ORIGINAL="$(git branch --show-current)"
echo "==> fetch $GIT_REMOTE"
git fetch "$GIT_REMOTE"
if git show-ref --verify --quiet "refs/heads/$DEV_BRANCH"; then
echo "==> push $DEV_BRANCH"
git push "$GIT_REMOTE" "$DEV_BRANCH"
fi
echo "==> checkout $STAGING_BRANCH"
git checkout "$STAGING_BRANCH"
git pull "$GIT_REMOTE" "$STAGING_BRANCH"
echo "==> merge $DEV_BRANCH -> $STAGING_BRANCH"
git merge "$DEV_BRANCH" -m "$MERGE_MSG"
echo "==> push $STAGING_BRANCH"
git push "$GIT_REMOTE" "$STAGING_BRANCH"
if git show-ref --verify --quiet "refs/heads/$DEV_BRANCH"; then
echo "==> checkout $DEV_BRANCH"
git checkout "$DEV_BRANCH"
elif [[ "$ORIGINAL" != "$STAGING_BRANCH" ]]; then
echo "==> checkout $ORIGINAL"
git checkout "$ORIGINAL"
fi
echo "==> 完成: $STAGING_BRANCH = $(git rev-parse --short HEAD)"
+48
View File
@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# 将 dev 合并到 main 并推送(生产分支,不含部署)
# 用法: deploy/git-sync-to-main.sh [merge message]
# 合并后发生产: deploy/deploy-prod.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
GIT_REMOTE="${GIT_REMOTE:-origin}"
DEV_BRANCH="${DEV_BRANCH:-dev_jacy}"
STAGING_BRANCH="${STAGING_BRANCH:-dev}"
PROD_BRANCH="${PROD_BRANCH:-main}"
MERGE_MSG="${1:-merge($STAGING_BRANCH): sync to $PROD_BRANCH}"
cd "$REPO_ROOT"
if [[ -n "$(git status --porcelain)" ]]; then
echo "ERROR: 工作区有未提交更改,请先 commit 或 stash" >&2
exit 1
fi
ORIGINAL="$(git branch --show-current)"
echo "==> fetch $GIT_REMOTE"
git fetch "$GIT_REMOTE"
echo "==> checkout $PROD_BRANCH"
git checkout "$PROD_BRANCH"
git pull "$GIT_REMOTE" "$PROD_BRANCH"
echo "==> merge $STAGING_BRANCH -> $PROD_BRANCH"
git merge "$STAGING_BRANCH" -m "$MERGE_MSG"
echo "==> push $PROD_BRANCH"
git push "$GIT_REMOTE" "$PROD_BRANCH"
if git show-ref --verify --quiet "refs/heads/$DEV_BRANCH"; then
echo "==> checkout $DEV_BRANCH"
git checkout "$DEV_BRANCH"
elif [[ "$ORIGINAL" != "$PROD_BRANCH" ]]; then
echo "==> checkout $ORIGINAL"
git checkout "$ORIGINAL"
fi
echo "==> 完成: $PROD_BRANCH = $(git rev-parse --short HEAD)"
echo " 发生产请执行: bash deploy/deploy-prod.sh"