Files
blog/.gitea/workflows/README.md
bluish 0642d15819
Some checks failed
Deploy to Cloudflare Workers / deploy (push) Failing after 2m10s
自动化部署
2026-01-07 16:57:51 +00:00

134 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/)