feat: ossutil 发布脚本(本地与 CI 共用)
This commit is contained in:
@@ -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] 完成"
|
||||||
Reference in New Issue
Block a user