自动化部署
Some checks failed
Deploy to Cloudflare Workers / deploy (push) Failing after 2m10s

This commit is contained in:
2026-01-07 16:57:51 +00:00
parent 19a044c597
commit 0642d15819
2 changed files with 168 additions and 0 deletions

133
.gitea/workflows/README.md Normal file
View File

@@ -0,0 +1,133 @@
# Gitea Actions 自动部署配置说明
## 配置步骤
### 1. 获取 Cloudflare API Token
1. 登录 [Cloudflare Dashboard](https://dash.cloudflare.com/)
2. 点击右上角的个人头像 → **My Profile**
3. 选择 **API Tokens** 标签
4. 点击 **Create Token**
5. 选择 **Edit Cloudflare Workers** 模板,或者创建自定义 token 并授予以下权限:
- Account - Cloudflare Workers Scripts: Edit
- Account - Cloudflare Workers KV Storage: Edit (如果使用 KV)
- Zone - Workers Routes: Edit (如果需要配置路由)
6. 复制生成的 API Token只会显示一次
### 2. 在 Gitea 中配置 Secret
1. 进入你的 Gitea 仓库
2. 点击 **Settings设置**
3. 在左侧菜单中选择 **Secrets密钥**
4. 点击 **Add Secret**
5. 填写:
- **Name**: `CLOUDFLARE_API_TOKEN`
- **Value**: 粘贴你从 Cloudflare 获取的 API Token
6. 点击保存
### 3. 配置 wrangler.jsonc
确保你的 `wrangler.jsonc` 文件配置正确:
```jsonc
{
"name": "my-astro-app", // 你的 Worker 项目名称
"compatibility_date": "2026-01-07",
"assets": {
"directory": "./dist"
}
}
```
### 4. 启用 Gitea Actions
1. 确保你的 Gitea 实例已经启用了 Actions 功能
2. 在仓库设置中确认 Actions 已启用
### 5. 测试部署
提交并推送代码到 `main` 分支:
```bash
git add .gitea/workflows/deploy.yml
git commit -m "Add Cloudflare Workers deployment workflow"
git push origin main
```
### 6. 查看部署状态
1. 在 Gitea 仓库页面,点击 **Actions** 标签
2. 查看工作流运行状态
3. 点击具体的运行记录可以查看详细日志
## 工作流说明
当前配置的工作流会在以下情况触发:
- 推送代码到 `main` 分支
工作流执行步骤:
1. 检出代码
2. 设置 Node.js 环境v20
3. 设置 pnpmv9.14.4
4. 安装依赖
5. 构建项目(执行 `npx astro build`
6. 部署到 Cloudflare Workers执行 `npx wrangler deploy`
## 自定义配置
### 修改触发分支
如果你想在其他分支触发部署,修改 `.gitea/workflows/deploy.yml` 中的 `branches` 部分:
```yaml
on:
push:
branches:
- main
- production # 添加其他分支
```
### 添加标签触发
```yaml
on:
push:
branches:
- main
tags:
- 'v*' # 推送 v 开头的标签时触发
```
### 添加 Pull Request 触发
```yaml
on:
push:
branches:
- main
pull_request:
branches:
- main
```
## 故障排查
### 常见问题
1. **部署失败API Token 无效**
- 检查 Cloudflare API Token 是否正确配置
- 确认 Token 权限是否足够
2. **构建失败:依赖安装问题**
- 检查 Node.js 版本是否匹配
- 确认 pnpm 版本是否正确
3. **部署失败wrangler 配置错误**
- 检查 `wrangler.jsonc` 配置是否正确
- 确认项目名称是否唯一
## 更多资源
- [Gitea Actions 文档](https://docs.gitea.com/usage/actions/overview)
- [Cloudflare Workers 文档](https://developers.cloudflare.com/workers/)
- [Wrangler CLI 文档](https://developers.cloudflare.com/workers/wrangler/)

View File

@@ -0,0 +1,35 @@
name: Deploy to Cloudflare Workers
on:
push:
branches:
- main # 当推送到 main 分支时触发
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20' # 使用 Node.js 20你可以根据需要调整版本
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9.14.4 # 使用 package.json 中指定的 pnpm 版本
- name: Install dependencies
run: pnpm install
- name: Build project
run: npx astro build
- name: Deploy to Cloudflare Workers
run: npx wrangler deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}