CapRover

部署方式


无论你采用哪种部署方式,请确保你的项目中包含 captain-definition 文件。更多细节请参阅 Captain Definition(Captain 定义文件)

通过 CLI 部署

在你的 Git 仓库里直接运行 caprover deploy 并按提示操作即可。这是最推荐的方法,因为它也是唯一会把潜在构建失败信息反馈给你的方式。更多说明请看: 快速开始 - 第 5 步

通过 Web 控制台部署

将项目内容打包成 tarball(.tar),打开 Captain Web 控制台并上传该 tar 文件。此部署方式通常仅用于测试。

对于不需要任何源代码的 captain-definition 文件(例如 这个示例),你可以直接在 Web 控制台复制粘贴 captain-definition 的内容。

deployapp

一键回滚

假设你部署了应用的新版本,但发现它有问题。你没有时间回退代码、撤销改动或修复 bug,那该怎么办?很简单:打开部署(Deployment)标签页,点击你想回滚到的版本旁边的回滚图标。CapRover 会自动开始一次新的构建并部署该版本。注意:这不会回滚你对环境变量(Environment Variables)的更改,也不会回滚持久化目录等其他应用配置。它只会回滚镜像(也就是已部署的源代码)。

通过 GitHub、Bitbucket 等自动部署

这可能是最方便的方法。当你把代码推送到某个指定分支(如 masterstagingrelease 等)时,会基于 captain-definiton 文件自动触发构建。要进行配置,请打开应用设置并填写仓库信息:

  • repo: 仓库的 HTTPS 主地址。以 GitHub 为例,格式是 github.com/someone/something。确保不包含 https:// 前缀和 .git 后缀。
  • branch: 需要跟踪的分支,例如 masterstagingrelease...
  • 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 就能接收到并基于指定分支的最新提交开始构建。