Caprover CI Deployments

Polar Sponsor
爱发电 赞助
.NET 9.0

将应用部署到 CapRover 并为新项目或现有项目配置 GitHub Actions CI/CD 工作流。用户说“部署 X”“触发部署”等时使用。

CapRover 部署

功能概述

CapRover 部署是一项面向实际任务的技能,主要用于此技能仅通过询问即可向 CapRover 部署应用程序;它支持两种主要策略 :.;

核心要点

  • GitHub 工作流程 发送 —— 触发现有的 CI/ CD 工作流程( 构建 +)。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

CapRover 部署

概述

本技能支持仅通过自然语言指令(例如“部署 myapp”)即可将应用部署至 CapRover。它提供两种主要部署策略:

  1. GitHub workflow_dispatch —— 触发已配置的 CI/CD 工作流(构建 + 部署)
  2. CapRover 应用令牌 / Webhook —— 直接调用 CapRover API 执行构建与部署

配置

所有凭证均存放在技能目录下的 config.json 文件中(该文件已加入 .gitignore,不会被提交至 Git 仓库)。

config.json 格式

{
  "caprover": {
    "url": "https://captain.example.com",
    "password": "YOUR_MASTER_PASSWORD"
  },
  "github": {
    "token": "ghp_YOUR_GITHUB_PAT",
    "owner": "your-github-username"
  },
  "apps": {
    "myapp": {
      "caprover_app_name": "myapp",
      "github_repo": "your-username/myapp",
      "github_workflow": "deploy.yml",
      "default_branch": "main",
      "caprover_app_token": "OPTIONAL_PER_APP_TOKEN",
      "caprover_webhook_url": "OPTIONAL_WEBHOOK_URL_FROM_CAPROVER_DASHBOARD"
    }
  }
}

各凭证说明

凭证 获取位置 用途
caprover.url 您的 CapRover 服务器地址 API 调用的基础 URL
caprover.password CapRover 控制台(Dashboard) 用于 API 认证的主密码
github.token GitHub → Settings → Developer Settings → Personal Access Tokens (PAT) 用于触发 workflow_dispatch 事件
apps.*.caprover_app_token CapRover 控制台 → App → Deployment 标签页 → 启用 App Token 以应用级令牌进行部署,无需主密码
apps.*.caprover_webhook_url CapRover 控制台 → App → Deployment 标签页 → Webhook URL 从已配置的 Git 仓库触发自动重建
apps.*.github_workflow .github/workflows/ 目录下的工作流文件名 指定需触发的具体 GitHub Actions 工作流

部署决策流程

当用户输入 “deploy X”(可选附加 “to branch Y”)时,系统执行以下逻辑:

1. 读取 config.json
2. 根据应用名称查找匹配项(支持模糊匹配)
3. 选择部署策略:
   a. 若同时配置了 github.token、github_repo 和 github_workflow → 使用 GitHub workflow_dispatch
   b. 否则,若配置了 caprover_webhook_url → 向该 Webhook URL 发起 POST 请求
   c. 否则,若配置了 caprover_app_token → 调用 caprover CLI 执行部署
   d. 若缺少必要配置,则提示用户补充
4. 执行所选策略,并反馈结果

策略 1:GitHub Workflow Dispatch(推荐)

curl -X POST 
  -H "Authorization: Bearer $GITHUB_TOKEN" 
  -H "Accept: application/vnd.github+json" 
  https://api.github.com/repos/OWNER/REPO/actions/workflows/deploy.yml/dispatches 
  -d '{"ref":"main"}'

检查工作流运行状态:

curl -H "Authorization: Bearer $GITHUB_TOKEN" 
  https://api.github.com/repos/OWNER/REPO/actions/runs?per_page=1

策略 2:CapRover Webhook 触发

curl -X POST "WEBHOOK_URL_FROM_CONFIG"

Webhook URL 获取路径:CapRover 控制台 → Apps → [应用名称] → Deployment 标签页 → Webhook URL

策略 3:CapRover 应用令牌(CLI 部署)

caprover deploy 
  --caproverUrl https://captain.example.com 
  --appToken "APP_TOKEN" 
  --appName "myapp" 
  --imageName "ghcr.io/owner/myapp:latest"

对话式触发指令

用户输入 执行动作
"deploy myapp" 使用当前可用的最佳策略部署默认分支
"deploy myapp to main" 部署 main 分支
"deploy branch feat/ui to myapp" 以 ref=feat/ui 触发 GitHub workflow_dispatch
"trigger a deploy of myapp" 等效于 deploy 命令
"check deploy status of myapp" 获取最近一次 GitHub Actions 运行状态
"what apps can I deploy?" 列出 config.json 中定义的所有应用

为新项目配置 CapRover 部署

步骤 1:选择合适的工作流模板

场景 模板路径
项目含 Dockerfile,推送镜像至 ghcr.io assets/templates/deploy-image.yml
Node.js 构建步骤 + tar 包部署 assets/templates/deploy-tar.yml
支持 Staging 与 Production 多环境 assets/templates/deploy-multi-env.yml

步骤 2:在项目中创建工作流文件

mkdir -p PROJECT/.github/workflows
cp assets/templates/deploy-image.yml PROJECT/.github/workflows/deploy.yml
# 将 __APP_NAME__ 替换为实际的 CapRover 应用名称
sed -i 's/__APP_NAME__/myapp/g' PROJECT/.github/workflows/deploy.yml

步骤 3:如需 tar 包部署,请添加 captain-definition(可选)

cp assets/templates/captain-definition.json PROJECT/captain-definition

步骤 4:配置 GitHub Secrets

在 GitHub → 仓库 → Settings → Secrets and variables → Actions 中添加以下密钥:

密钥名称 值
CAPROVER_HOST CapRover 地址,例如 https://captain.example.com
CAPROVER_APP_TOKEN CapRover 控制台 → App → Deployment → 启用 App Token 后生成的令牌

如使用多环境部署,请额外添加:

  • CAPROVER_APP_PROD、CAPROVER_APP_TOKEN_PROD
  • CAPROVER_APP_STAGING、CAPROVER_APP_TOKEN_STAGING

步骤 5:提交并推送更改

cd PROJECT
git add .github/workflows/deploy.yml captain-definition
git commit -m "ci: add CapRover deploy workflow"
git push

注意事项

  • caprover CLI 可能未安装:运行 npm install -g caprover 安装
  • 对于私有仓库,GitHub Token 需具备 repo 与 workflow 权限范围
  • 部署触发后请务必确认成功(检查 API 返回或 GitHub Actions UI)
  • 更多工作流模板请参阅 assets/templates/ 目录

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习