|
|
@@ -14,16 +14,16 @@ deploy_to_cloudflare() {
|
|
|
log_message "❌ 错误: CLOUDFLARE_API_TOKEN 未设置"
|
|
|
return 1
|
|
|
fi
|
|
|
-
|
|
|
+
|
|
|
log_message "✅ Cloudflare 凭证验证通过"
|
|
|
-
|
|
|
+
|
|
|
log_message "========================================="
|
|
|
log_message "开始部署到 Cloudflare Pages"
|
|
|
log_message "========================================="
|
|
|
log_message "项目名称: ${cloudflare_project_name}"
|
|
|
log_message "构建目录: ${dist_dir}"
|
|
|
log_message "分支: ${build_branch}"
|
|
|
-
|
|
|
+
|
|
|
# 检查构建目录是否存在
|
|
|
if [ ! -d "${dist_dir}" ]; then
|
|
|
log_message "❌ 错误: 构建目录 ${dist_dir} 不存在"
|
|
|
@@ -31,47 +31,46 @@ deploy_to_cloudflare() {
|
|
|
ls -la
|
|
|
return 1
|
|
|
fi
|
|
|
-
|
|
|
+
|
|
|
log_message "✅ 构建目录检查通过"
|
|
|
log_message "构建产物大小: $(du -sh ${dist_dir} | cut -f1)"
|
|
|
log_message "文件数量: $(find ${dist_dir} -type f | wc -l)"
|
|
|
-
|
|
|
+
|
|
|
# 部署到 Cloudflare Pages
|
|
|
log_message "🚀 开始部署到 Cloudflare Pages..."
|
|
|
DEPLOY_START=$(date +%s)
|
|
|
-
|
|
|
+
|
|
|
# 使用 wrangler pages deploy 命令 (推荐方式)
|
|
|
# --project-name: Pages 项目名称
|
|
|
# --branch: 部署分支,用于预览环境
|
|
|
# --commit-dirty: 允许未提交的更改
|
|
|
-
|
|
|
+
|
|
|
# 执行部署命令并捕获输出和退出状态
|
|
|
- set +e # 临时禁用错误退出
|
|
|
- npx wrangler@3.90.0 pages deploy ${dist_dir} \
|
|
|
+ set +e # 临时禁用错误退出
|
|
|
+ npx wrangler pages deploy ${dist_dir} \
|
|
|
--project-name="${cloudflare_project_name}" \
|
|
|
--branch="${build_branch}" \
|
|
|
- --commit-dirty=true \
|
|
|
2>&1 | tee -a "$BUILD_LOG_FILE"
|
|
|
DEPLOY_EXIT_CODE=${PIPESTATUS[0]}
|
|
|
- set -e # 重新启用错误退出
|
|
|
-
|
|
|
+ set -e # 重新启用错误退出
|
|
|
+
|
|
|
DEPLOY_END=$(date +%s)
|
|
|
DEPLOY_DURATION=$((DEPLOY_END - DEPLOY_START))
|
|
|
-
|
|
|
+
|
|
|
# 检查部署是否成功
|
|
|
if [ ${DEPLOY_EXIT_CODE} -eq 0 ]; then
|
|
|
log_message "========================================="
|
|
|
log_message "✅ Cloudflare Pages 部署成功!"
|
|
|
log_message "========================================="
|
|
|
log_message "部署耗时: ${DEPLOY_DURATION}秒"
|
|
|
-
|
|
|
+
|
|
|
# 根据分支判断访问地址
|
|
|
if [ "${build_branch}" = "main" ] || [ "${build_branch}" = "master" ]; then
|
|
|
log_message "📡 生产环境地址: https://${cloudflare_project_name}.pages.dev"
|
|
|
else
|
|
|
log_message "📡 预览环境地址: https://${build_branch}.${cloudflare_project_name}.pages.dev"
|
|
|
fi
|
|
|
-
|
|
|
+
|
|
|
return 0
|
|
|
else
|
|
|
log_message "========================================="
|
|
|
@@ -87,8 +86,7 @@ deploy_to_cloudflare() {
|
|
|
log_message ""
|
|
|
log_message "如果项目不存在,请先在 Cloudflare Dashboard 创建:"
|
|
|
log_message " Workers & Pages → Create → Pages → 项目名: ${cloudflare_project_name}"
|
|
|
-
|
|
|
+
|
|
|
return 1
|
|
|
fi
|
|
|
}
|
|
|
-
|