From 661e80fade9fadcfb98048164e6d53d9fb879c15 Mon Sep 17 00:00:00 2001 From: lzy Date: Thu, 23 Jul 2026 19:17:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ossutil=20=E5=8F=91=E5=B8=83=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=88=E6=9C=AC=E5=9C=B0=E4=B8=8E=20CI=20=E5=85=B1?= =?UTF-8?q?=E7=94=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/deploy-oss.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 scripts/deploy-oss.sh diff --git a/scripts/deploy-oss.sh b/scripts/deploy-oss.sh new file mode 100644 index 0000000..f5307bf --- /dev/null +++ b/scripts/deploy-oss.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail + +# 判空:没配凭据时跳过(Phase 0 本地/未配 OSS 时不阻塞) +if [ -z "${OSS_ACCESS_KEY_ID:-}" ] || [ -z "${OSS_BUCKET:-}" ]; then + echo "[deploy-oss] 未配置 OSS 凭据,跳过同步。" + exit 0 +fi + +: "${OSS_ACCESS_KEY_SECRET:?需 OSS_ACCESS_KEY_SECRET}" +: "${OSS_ENDPOINT:?需 OSS_ENDPOINT}" +: "${OSS_BUCKET:?需 OSS_BUCKET}" + +DIST_DIR="${1:-dist}" +[ -d "$DIST_DIR" ] || { echo "[deploy-oss] $DIST_DIR 不存在,请先 build"; exit 1; } + +echo "[deploy-oss] 同步 $DIST_DIR → oss://$OSS_BUCKET/" +ossutil sync "$DIST_DIR" "oss://$OSS_BUCKET/" \ + -i "$OSS_ACCESS_KEY_ID" \ + -k "$OSS_ACCESS_KEY_SECRET" \ + -e "$OSS_ENDPOINT" \ + --force --delete + +echo "[deploy-oss] 刷新 CDN(如配了 CDN_DOMAIN)" +if [ -n "${CDN_DOMAIN:-}" ]; then + ossutil cdn refresh --dirs "https://${CDN_DOMAIN}/" \ + -i "$OSS_ACCESS_KEY_ID" -k "$OSS_ACCESS_KEY_SECRET" -e "$OSS_ENDPOINT" || true +fi + +echo "[deploy-oss] 完成"