部署方式
无论你采用哪种部署方式,请确保你的项目中包含 captain-definition 文件。更多细节请参阅 Captain Definition(Captain 定义文件)。
通过 CLI 部署
在你的 Git 仓库里直接运行 caprover deploy 并按提示操作即可。这是最推荐的方法,因为它也是唯一会把潜在构建失败信息反馈给你的方式。更多说明请看:
快速开始 - 第 5 步。
通过 Web 控制台部署
将项目内容打包成 tarball(.tar),打开 Captain Web 控制台并上传该 tar 文件。此部署方式通常仅用于测试。
对于不需要任何源代码的 captain-definition 文件(例如 这个示例),你可以直接在 Web 控制台复制粘贴 captain-definition 的内容。

一键回滚
假设你部署了应用的新版本,但发现它有问题。你没有时间回退代码、撤销改动或修复 bug,那该怎么办?很简单:打开部署(Deployment)标签页,点击你想回滚到的版本旁边的回滚图标。CapRover 会自动开始一次新的构建并部署该版本。注意:这不会回滚你对环境变量(Environment Variables)的更改,也不会回滚持久化目录等其他应用配置。它只会回滚镜像(也就是已部署的源代码)。
通过 GitHub、Bitbucket 等自动部署
这可能是最方便的方法。当你把代码推送到某个指定分支(如 master、staging、release 等)时,会基于 captain-definiton 文件自动触发构建。要进行配置,请打开应用设置并填写仓库信息:
- repo: 仓库的 HTTPS 主地址。以 GitHub 为例,格式是
github.com/someone/something。确保不包含https://前缀和.git后缀。 - branch: 需要跟踪的分支,例如
master、staging、release... - github/bitbucket username(email address): Captain 下载仓库时使用的用户名(或邮箱地址)。
- github/bitbucket password: 对于公开项目,你可以填写任意非空文本,例如
123456。 - 或者,不使用用户名/密码,改用 SSH Key:请确保使用 PEM 格式,因为其他格式可能无法工作。如果不确定,可用以下命令生成:
ssh-keygen -m PEM -t ed25519 -C "yourname@example.com" -f ./deploykey -q -N ""填写完成并保存配置后,回到应用页面。你会看到一个名为 webhook 的新字段。把这个 webhook 复制到你的 GitHub/Bitbucket 仓库 Webhooks 里(见下文)。Captain 会监听该链接上的 POST 请求并触发构建。
GitHub
在这里创建 webhook:
- Project > Settings > Add Webhook > URL: 从应用页面复制的 Captain Webhook,Content Type:
application/json, Secret:<Leave empty>,只选择push事件。 另外,将生成的公钥内容添加到仓库的 deploy keys 中。
Bitbucket
可以在这里添加 webhook:
- Project > Settings > Webhooks > Add Webhook > Title: Captain Server, URL: 从应用页面复制的 Captain Webhook。
GitLab 和其他平台
GitLab 等其他平台也可以用类似方式添加 webhook。只要 webhook 能发送 POST 请求,CapRover 就能接收到并基于指定分支的最新提交开始构建。