From d4f113c77bc20946a0416484680402ce94fdb48a Mon Sep 17 00:00:00 2001 From: seaHi Date: Wed, 5 Aug 2026 14:19:45 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E9=85=8D=E7=BD=AE=20Gitea=20=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E9=83=A8=E7=BD=B2=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E5=BA=93=20ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yml | 43 +++++++++++++++++++++++++++++++++++++ wrangler.jsonc | 4 ++-- 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 .gitea/workflows/deploy.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..60e82fd --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,43 @@ +name: 生产环境部署 - BlogFlare 至 Cloudflare Pages + +# 触发规则:当代码推送到 main 主分支,或在 Gitea 后台手动触发(workflow_dispatch)时运行 +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + deploy: + name: 构建与自动化上线 + runs-on: ubuntu-latest + + steps: + # 1. 检出仓库最新代码 + - name: 1. 检出源代码 + uses: actions/checkout@v4 + + # 2. 初始化 Node.js 运行环境 (使用 Node 22) + - name: 2. 初始化 Node.js 环境 + uses: actions/setup-node@v4 + with: + node-version: '22' + + # 3. 安装 pnpm 包管理器 (直接复用镜像层或官方 npm,避免 Gitea 自建 Runner 拉取 github-release 超时) + - name: 3. 全局安装并准备 pnpm + run: npm install -g pnpm@9 + + # 4. 严格按照项目公约,通过 pnpm install 安装工程依赖 + - name: 4. 安装工程依赖包 + run: pnpm install + + # 5. 执行类型自检并打包输出静态产物及适配器运行脚本 (产出在 .svelte-kit/cloudflare) + - name: 5. 构建生产环境打包产物 + run: pnpm run build + + # 6. 使用 pnpm dlx 驱动官方 wrangler 发布静态构建至 Cloudflare + - name: 6. 自动化推送到 Cloudflare Pages (主分支为生产发布) + env: + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + run: pnpm dlx wrangler pages deploy .svelte-kit/cloudflare --project-name=blogflare --branch=main diff --git a/wrangler.jsonc b/wrangler.jsonc index b4cf849..16f41a7 100644 --- a/wrangler.jsonc +++ b/wrangler.jsonc @@ -10,7 +10,7 @@ { "binding": "DB", "database_name": "blogflare-db", - "database_id": "local" + "database_id": "8d03662c-fb92-43f7-82cf-4a8efbb96617" } ], "r2_buckets": [ @@ -19,4 +19,4 @@ "bucket_name": "blogflare-assets" } ] -} +} \ No newline at end of file