跳到主要内容

Claude Code 部署应用到自己的服务器

先确认这次要部署什么​

如果项目就在当前目录,而且本地已经能启动,先别急着写 Dockerfile 或登录服务器。让 Claude Code 把前端、后端、数据库、端口和启动命令说清楚,确认没有认错项目,再开始部署。

你可以直接在项目目录中告诉 Claude Code:

帮我安装 RainSkills。

安装完成后继续输入:

帮我部署当前项目。如果部署失败,继续检查构建日志、运行日志和访问配置,最后给我可访问地址。

部署过程中,Claude Code 需要继续检查构建和运行状态,直到拿到可以打开的地址。只返回“命令执行成功”,这件事还没有做完。

常见的几种起点​

不用先研究所有部署概念,先找到最接近你当前状态的一行:

你现在的情况建议你先做什么
项目就在当前目录,本地已经能运行让 Claude Code 识别项目,再直接发起 RainSkills 部署
项目包含前端、后端和数据库先让 Agent 列出组件与依赖,确认后再创建应用拓扑
只有 Git 仓库地址,还没在本地运行先确认分支、构建方式和必要配置,不要直接部署到生产
已经有 Rainbond 应用,只想发布新代码先核对本地项目绑定,运行测试后更新已有组件
部署已经失败不要重复点击部署,先进入部署失败自动排查
还没有 Rainbond直接提出部署任务,在第一次需要运行环境时选择 Cloud、私有服务器或 Kubernetes

如果你不确定属于哪一种,直接让 Claude Code “先分析、不要部署”。确认它理解的组件、端口和依赖正确后,再进入下一步。

为什么 Claude Code 写完代码后,部署仍然容易卡住?​

Claude Code 能在当前目录中理解代码、编辑文件和执行开发命令。但一个真实应用上线时,还会遇到代码之外的问题:

  • 前端、后端、数据库和缓存应该拆成哪些组件?
  • 应用监听的端口是否和平台访问端口一致?
  • 数据库连接信息应该如何传递,密码应该保存在哪里?
  • 哪些目录需要持久化,重新部署后数据是否还在?
  • 构建成功以后,进程是否正常启动,健康检查是否通过?
  • 页面能打开时,API、静态资源和跨域配置是否正常?
  • 下一次更新如何发布,出现问题如何回滚?

如果让 Agent 直接 SSH 到服务器,这些信息通常散落在命令、配置文件和当前对话中。RainSkills 将它们组织为 Rainbond 中的应用、组件、依赖、端口、存储和访问策略,让 Claude Code 可以持续读取真实运行状态。

Claude Code 部署应用前需要准备什么?​

开始前建议确认以下条件:

  1. Claude Code 可以正常使用:在项目目录中启动 Claude Code,并确认它可以读取当前仓库。安装与运行方式以 Claude Code 官方文档 为准。
  2. 项目可以在本地构建:至少知道启动命令、监听端口和必要环境变量。如果本地就无法构建,应先解决代码问题。
  3. 选择 Rainbond 环境:可以使用 Rainbond Cloud、已有私有化 Rainbond,或在自己的服务器与 Kubernetes 中安装 Rainbond。
  4. 敏感配置单独准备:数据库密码、API Key、证书和私钥不要写入仓库、提示词或公开文档。
  5. 明确交付目标:只是预览、部署到测试环境,还是准备生产上线。不同目标对域名、证书、存储和资源要求不同。

Claude Code 部署应用的完整流程​

第一步:让 Claude Code 识别项目​

不要一开始就要求执行服务器命令。先让 Agent 说明它看到的项目结构:

分析当前项目,列出前端、后端、数据库、缓存、启动命令、监听端口和必须配置的环境变量。先不要部署。

检查结果是否符合真实架构。如果项目包含多个服务,确认哪些服务需要独立扩缩容,哪些服务需要持久化数据。

第二步:安装 RainSkills​

帮我安装 RainSkills。

安装阶段只安装完整的 Skill 集合和本地运行组件。下一步部署任务第一次需要 Rainbond 时,Agent 才会让你选择 Cloud、已有私有环境或新安装环境。涉及平台安装、登录和授权时,Agent 应暂停并等待你确认。

第三步:创建应用拓扑并部署​

把当前项目部署到 Rainbond。复用已有应用;如果还没有初始化,就先建立项目绑定,再创建所需组件和依赖。

RainSkills 会围绕当前项目完成这些工作:

  • 识别源码、镜像、软件包或 Compose 等输入方式。
  • 创建或复用 Rainbond 应用和组件。
  • 配置端口、组件依赖、连接变量和必要存储。
  • 触发构建与部署,并持续读取平台状态。

第四步:失败时先定位层级​

如果部署没有成功,不要反复重新构建。可以继续问:

判断当前失败发生在源码构建、镜像拉取、进程启动、组件依赖还是访问配置。给出证据后再决定下一步。

RainSkills 可以结合构建日志、运行日志、Pod 状态和平台事件区分问题来源。定位到业务代码或构建脚本时,应回到代码修改;定位到端口、依赖或访问配置时,再处理平台配置。

第五步:验证交付结果​

验证应用是否已经交付成功。检查组件、Pod、事件、存储和访问路径,并给我最终访问地址。

完整验证至少应回答:

  • 所有必要组件是否处于正常状态?
  • 页面入口是否返回预期内容?
  • 页面调用的 API 是否正常?
  • 数据库与缓存依赖是否连通?
  • 重启或重新部署后,持久化数据是否保留?
  • 最终应该访问哪个域名或地址?

全栈项目示例:React + Node.js + MySQL​

假设当前仓库包含 React 前端、Node.js API 和 MySQL。Claude Code 不应该把它们当成一个不透明的进程启动,而应先形成明确拓扑:

浏览器 → React 前端 → Node.js API → MySQL

部署时重点检查:

对象需要确认的内容
React 前端构建命令、静态文件目录、API 地址、对外访问路径
Node.js API启动命令、监听地址、服务端口、健康检查
MySQL数据库名称、用户、密码、持久化目录、备份方式
组件依赖前端如何访问 API,API 如何通过内部地址连接 MySQL
交付结果首页、核心 API、静态资源和数据库读写是否正常

这样做的好处是:后端扩容、数据库持久化、前端更新和访问排错都可以独立处理,而不是重新执行一整套临时脚本。

部署到自己的服务器,是否必须会 Kubernetes?​

不需要先掌握完整的 Kubernetes YAML。Rainbond 负责承载应用构建、组件编排、服务依赖、网关访问和运行状态,Claude Code 通过 RainSkills 使用这些应用级能力。

但“不需要先会 Kubernetes”不等于可以忽略生产要求。生产环境仍然需要评估服务器资源、网络、域名、证书、存储、备份和高可用。RainSkills 可以帮助检查配置,但不会替团队决定容量和风险策略。

怎么判断部署真的完成了​

完成后,你至少应该拿到这些结果:

  • 一个明确的应用名称和目标运行环境。
  • 前端、后端、数据库等组件的实际运行状态。
  • 可以由浏览器打开的访问地址。
  • 至少一个已经验证通过的页面和核心 API。
  • 数据库、缓存和持久化存储的连接结论。
  • 如果仍有问题,明确的阻塞原因和负责人,而不是无限重试。
  • 下一次修改代码时可以复用的部署和回滚路径。

如果 Claude Code 只告诉你“容器已启动”,但没有访问地址和验证结果,这次任务还没有真正完成。

安全边界​

  • 不要在提示词、仓库或公开日志中粘贴密码、Token、证书和私钥。
  • 删除应用、删除组件、修改业务代码和安装平台等高风险操作需要明确确认。
  • Agent 没有足够证据时,不应通过反复重启掩盖真实问题。
  • 生产发布前应保留可回滚版本,并验证数据库备份。
  • 如果问题来自服务器容量、网络策略或第三方服务,应明确停止自动重试并交给对应负责人。

常见问题​

Claude Code deployment skill 是什么?

在这个场景中,deployment skill 指安装在 Claude Code 中的 RainSkills。它提供面向 Rainbond 的项目接入、部署、排错和交付验证流程,让 Agent 知道应该读取哪些状态、何时继续以及何时请求确认。

Claude Code 能直接部署 Git 仓库吗?

可以从当前仓库或明确的 Git 仓库开始,但仍要确认分支、构建方式、端口、依赖和敏感配置。对于当前本地项目,优先在项目目录中发起任务,可以减少绑定错误。

部署成功为什么页面仍然打不开?

常见原因包括应用只监听 127.0.0.1、端口识别错误、网关路径不匹配、前端 API 地址错误、证书或域名未生效。此时应验证页面与 API 路径,而不是只看组件是否“运行中”。

后续修改代码如何重新部署?

继续在同一个项目中让 Claude Code 修改代码、运行测试,然后要求 RainSkills 重新构建并验证。生产环境建议先创建快照或保留上一个可用版本。

相关内容​