feat: 添加 proxy-deploy 和 release 技能
- proxy-deploy: 部署 Claude API 代理服务到 K8S ECI - release: 创建和推送版本标签触发 CI/CD 发布流程 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
92
.claude/skills/proxy-deploy/SKILL.md
Normal file
92
.claude/skills/proxy-deploy/SKILL.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
name: proxy-deploy
|
||||
description: 部署 Claude API 代理服务到 K8S ECI。当用户要求部署代理服务、创建新的代理实例、查看代理状态、删除代理服务时使用。触发词: deploy, 部署, 代理, proxy, k8s, eci, 服务状态, 删除服务。
|
||||
---
|
||||
|
||||
# Claude API 代理服务部署
|
||||
|
||||
用于管理 Claude API 代理服务在 K8S ECI 环境中的部署。
|
||||
|
||||
## 可用命令
|
||||
|
||||
### 部署代理服务
|
||||
|
||||
```bash
|
||||
pnpm deploy <name> <image> [options]
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `name` - 服务名称(唯一标识)
|
||||
- `image` - Docker 镜像地址
|
||||
|
||||
**选项:**
|
||||
- `--replicas <n>` - 副本数(默认: 1)
|
||||
- `--port <port>` - 容器端口(默认: 3000)
|
||||
- `--eip-bandwidth <n>` - EIP 带宽 Mbps(默认: 5)
|
||||
|
||||
**示例:**
|
||||
```bash
|
||||
# 部署单个代理实例
|
||||
pnpm deploy claude-proxy-1 registry.cn-beijing.aliyuncs.com/d8dcloud/claude-api-proxy:v0.0.1
|
||||
|
||||
# 部署 3 个副本
|
||||
pnpm deploy claude-proxy-1 registry.cn-beijing.aliyuncs.com/d8dcloud/claude-api-proxy:v0.0.1 --replicas 3
|
||||
|
||||
# 自定义端口
|
||||
pnpm deploy claude-proxy-2 registry.cn-beijing.aliyuncs.com/d8dcloud/claude-api-proxy:v0.0.2 --port 80
|
||||
```
|
||||
|
||||
### 删除代理服务
|
||||
|
||||
```bash
|
||||
pnpm deploy delete <name>
|
||||
```
|
||||
|
||||
### 查询服务状态
|
||||
|
||||
```bash
|
||||
pnpm deploy status <name>
|
||||
```
|
||||
|
||||
## 环境配置
|
||||
|
||||
部署前需要确保 `.env` 文件包含以下配置:
|
||||
|
||||
```env
|
||||
# K8S API 配置
|
||||
K8S_API_URL=http://10.0.0.52:23972
|
||||
K8S_API_TOKEN=your_fixed_token_here
|
||||
|
||||
# 域名配置
|
||||
DEV_HOST="*.dev.d8d.fun"
|
||||
DEV_TLS_SECRET_NAME="d8d-proxy-tls"
|
||||
|
||||
# 上游 API(会注入到容器)
|
||||
ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
|
||||
```
|
||||
|
||||
## 部署特性
|
||||
|
||||
- **ECI 实例**: 使用阿里云 ECI 弹性容器实例
|
||||
- **Spot 实例**: 自动使用抢占式实例降低成本
|
||||
- **自动 EIP**: 自动分配公网 IP
|
||||
- **TLS**: 自动配置 HTTPS 域名访问
|
||||
- **健康检查**: 自动配置就绪探针和存活探针
|
||||
|
||||
## 访问地址格式
|
||||
|
||||
部署成功后,服务可通过以下地址访问:
|
||||
|
||||
```
|
||||
https://<name>-<port>.<host-suffix>
|
||||
```
|
||||
|
||||
例如: `https://claude-proxy-1-80.dev.d8d.fun`
|
||||
|
||||
## 工作流程
|
||||
|
||||
1. 确认 `.env` 配置正确
|
||||
2. 运行 `pnpm deploy <name> <image>` 部署服务
|
||||
3. 等待 Pod 启动(通常需要 1-2 分钟)
|
||||
4. 使用 `pnpm deploy status <name>` 检查状态
|
||||
5. 通过返回的 HTTPS 地址访问服务
|
||||
86
.claude/skills/release/SKILL.md
Normal file
86
.claude/skills/release/SKILL.md
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
name: release
|
||||
description: 创建和推送版本标签触发 CI/CD 发布流程。当用户要求发布新版本、创建标签、发布 release、触发构建时使用。触发词: release, 发布, 版本, tag, 标签, v0.0.x, 构建镜像, docker build。
|
||||
---
|
||||
|
||||
# 版本发布管理
|
||||
|
||||
用于创建和管理版本标签,触发 Gitea Actions 自动构建 Docker 镜像。
|
||||
|
||||
## 发布新版本
|
||||
|
||||
```bash
|
||||
./scripts/release_tag.sh [version]
|
||||
```
|
||||
|
||||
### 使用方式
|
||||
|
||||
1. **自动递增版本(推荐)**
|
||||
```bash
|
||||
./scripts/release_tag.sh
|
||||
```
|
||||
自动检测最新版本并递增 PATCH 号。
|
||||
|
||||
2. **指定版本号**
|
||||
```bash
|
||||
# 以下格式都支持,会自动添加 release/v 前缀
|
||||
./scripts/release_tag.sh 1.0.0
|
||||
./scripts/release_tag.sh v1.0.0
|
||||
./scripts/release_tag.sh release/v1.0.0
|
||||
```
|
||||
|
||||
3. **查看所有标签**
|
||||
```bash
|
||||
./scripts/release_tag.sh --list
|
||||
# 或
|
||||
./scripts/release_tag.sh -l
|
||||
```
|
||||
|
||||
## 版本命名规则
|
||||
|
||||
- 标签格式: `release/v<major>.<minor>.<patch>`
|
||||
- 示例: `release/v0.0.1`, `release/v0.0.2`, `release/v1.0.0`
|
||||
- 从 `release/v0.0.1` 开始
|
||||
|
||||
## 发布流程
|
||||
|
||||
执行发布脚本后会自动:
|
||||
|
||||
1. **检查工作目录** - 提示未提交的更改
|
||||
2. **拉取最新代码** - `git pull gitea <branch>`
|
||||
3. **创建标签** - `git tag release/vX.X.X`
|
||||
4. **推送标签** - `git push gitea release/vX.X.X`
|
||||
5. **触发 CI** - Gitea Actions 自动构建 Docker 镜像
|
||||
|
||||
## CI/CD 说明
|
||||
|
||||
标签推送后,Gitea Actions 会自动:
|
||||
|
||||
1. 构建多架构 Docker 镜像 (amd64, arm64)
|
||||
2. 推送到阿里云容器镜像仓库
|
||||
3. 镜像地址: `registry.cn-beijing.aliyuncs.com/d8dcloud/claude-api-proxy:vX.X.X`
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 发布前确保所有更改已提交
|
||||
- 版本号格式必须符合语义化版本规范
|
||||
- ECI 容器环境会自动配置 SSH 连接参数
|
||||
- 如果推送失败,检查 `gitea` 远程仓库配置
|
||||
|
||||
## 完整发布工作流
|
||||
|
||||
```bash
|
||||
# 1. 确保代码已提交
|
||||
git add .
|
||||
git commit -m "feat: 新功能描述"
|
||||
git push gitea main
|
||||
|
||||
# 2. 发布新版本
|
||||
./scripts/release_tag.sh
|
||||
|
||||
# 3. 等待 CI 构建完成
|
||||
# 访问 Gitea Actions 页面查看构建状态
|
||||
|
||||
# 4. 部署新版本
|
||||
pnpm deploy claude-proxy-1 registry.cn-beijing.aliyuncs.com/d8dcloud/claude-api-proxy:vX.X.X
|
||||
```
|
||||
@@ -5,6 +5,14 @@
|
||||
"source": "anthropics/skills",
|
||||
"sourceType": "github",
|
||||
"computedHash": "b122f4d1e91aa1d83027e050b5b37c3156203ee85458d7b1360bc48167c9e02a"
|
||||
},
|
||||
"proxy-deploy": {
|
||||
"source": ".claude/skills/proxy-deploy",
|
||||
"sourceType": "local"
|
||||
},
|
||||
"release": {
|
||||
"source": ".claude/skills/release",
|
||||
"sourceType": "local"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user