讲师中心 微信公众号

工具推荐

视频效率加速
AniShort
AniShort

AI短剧协同制作平台

Laper
Laper

剧本策划到成片协作

Seko
Seko

AI短剧一键生成成片

updream

一键生成高质量推广成片

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/ 目录
目录

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

函子Zion

一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

0

2026.11.12

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

0

2026.11.12

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

0

2026.11.12

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

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

0

2026.11.06

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

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

0

2026.11.06

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

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

0

2026.11.06

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

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

0

2026.11.05

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

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

0

2026.11.05

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

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

0

2026.11.04

热门下载

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

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn