From bd041136c0fea9d7b7902ffe71760284920e9b1f Mon Sep 17 00:00:00 2001 From: r Date: Wed, 8 Jul 2026 23:58:52 +0800 Subject: [PATCH] =?UTF-8?q?chore(deploy):=20axs=20Gitea=20=E4=B8=BA?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=8F=91=E5=B8=83=E6=BA=90=20+=20=E5=85=A8?= =?UTF-8?q?=E9=87=8F=E5=88=86=E6=89=B9=E6=8E=A8=E9=80=81=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主项目推送到 https://axs.kuma1xn.vip 时分批提交避免 Cloudflare 524。 --- deploy/nexus-1panel.sh | 10 +++++-- scripts/git-push-axs-full.sh | 55 ++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 scripts/git-push-axs-full.sh diff --git a/deploy/nexus-1panel.sh b/deploy/nexus-1panel.sh index 9eb54b0e..2bfb05b8 100755 --- a/deploy/nexus-1panel.sh +++ b/deploy/nexus-1panel.sh @@ -23,7 +23,7 @@ set -euo pipefail # 内置路径/域名(无敏感信息,可提交 Git) # ═══════════════════════════════════════════════════════════════════ NEXUS_ROOT="${NEXUS_ROOT:-/opt/nexus}" -NEXUS_GITEA_HOST="${NEXUS_GITEA_HOST:-66.154.115.8:3000}" +NEXUS_GITEA_HOST="${NEXUS_GITEA_HOST:-axs.kuma1xn.vip}" NEXUS_GITEA_REPO="${NEXUS_GITEA_REPO:-admin/Nexus.git}" NEXUS_DOMAIN="${NEXUS_DOMAIN:-api.synaglobal.vip}" NEXUS_PROFILE="${NEXUS_PROFILE:-2c8g}" @@ -726,10 +726,14 @@ require_token() { } git_remote_url() { + local scheme=http + if [[ "$NEXUS_GITEA_HOST" != *:* ]]; then + scheme="${NEXUS_GITEA_SCHEME:-https}" + fi if [[ -n "${NEXUS_GITEA_TOKEN:-}" ]]; then - echo "http://admin:${NEXUS_GITEA_TOKEN}@${NEXUS_GITEA_HOST}/${NEXUS_GITEA_REPO}" + echo "${scheme}://admin:${NEXUS_GITEA_TOKEN}@${NEXUS_GITEA_HOST}/${NEXUS_GITEA_REPO}" else - echo "http://${NEXUS_GITEA_HOST}/${NEXUS_GITEA_REPO}" + echo "${scheme}://${NEXUS_GITEA_HOST}/${NEXUS_GITEA_REPO}" fi } diff --git a/scripts/git-push-axs-full.sh b/scripts/git-push-axs-full.sh new file mode 100644 index 00000000..f98be700 --- /dev/null +++ b/scripts/git-push-axs-full.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# 主项目全量推送到 axs Gitea(分批避免 Cloudflare 524 超时) +# +# 用法: +# bash scripts/git-push-axs-full.sh +# bash scripts/git-push-axs-full.sh main +# +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +SECRETS="${ROOT}/deploy/nexus-1panel.secrets.sh" +if [[ -f "$SECRETS" ]]; then + # shellcheck disable=SC1090 + source "$SECRETS" +fi + +HOST="${NEXUS_GITEA_HOST:-axs.kuma1xn.vip}" +REPO="${NEXUS_GITEA_REPO:-admin/Nexus.git}" +TOKEN="${NEXUS_GITEA_TOKEN:?缺少 NEXUS_GITEA_TOKEN,请配置 $SECRETS}" +BRANCH="${1:-main}" +BATCH="${NEXUS_GITEA_PUSH_BATCH:-30}" + +if [[ "$HOST" == *:* ]]; then + SCHEME="${NEXUS_GITEA_SCHEME:-http}" +else + SCHEME="${NEXUS_GITEA_SCHEME:-https}" +fi + +URL="${SCHEME}://admin:${TOKEN}@${HOST}/${REPO}" + +cd "$ROOT" +if ! git rev-parse --verify "$BRANCH" >/dev/null 2>&1; then + echo "ERROR: 本地分支 $BRANCH 不存在" >&2 + exit 1 +fi + +mapfile -t COMMITS < <(git rev-list --reverse "$BRANCH") +TOTAL=${#COMMITS[@]} +echo "═══ Nexus 全量推送 axs Gitea ═══" +echo "远程: ${SCHEME}://${HOST}/${REPO}" +echo "分支: $BRANCH(共 $TOTAL 个提交,每批 $BATCH 个)" + +git_cfg=( -c http.postBuffer=524288000 -c http.lowSpeedLimit=0 -c http.lowSpeedTime=999999 ) + +for ((i = 0; i < TOTAL; i += BATCH)); do + idx=$((i + BATCH - 1)) + if (( idx >= TOTAL )); then idx=$((TOTAL - 1)); fi + rev="${COMMITS[$idx]}" + echo "▶ push → ${rev:0:8} ($((idx + 1))/$TOTAL)" + GIT_TERMINAL_PROMPT=0 git "${git_cfg[@]}" push --force "$URL" "${rev}:refs/heads/${BRANCH}" +done + +echo "▶ final push ${BRANCH}" +GIT_TERMINAL_PROMPT=0 git "${git_cfg[@]}" push --force "$URL" "${BRANCH}:refs/heads/${BRANCH}" +echo "✓ 全量推送完成: ${SCHEME}://${HOST}/admin/Nexus/src/branch/${BRANCH}"