name: railway-deploy description: 使用 “railway up” 将代码部署到 Railway。当用户想要推送代码、说 “railway up”、“deploy”、“ship” 或 “push” 时使用。对于初始设置或创建服务,使用 railway-new 技能。对于 Docker 镜像,使用 railway-environment 技能。 version: 1.0.0 author: Railway license: MIT tags: [Railway, 部署, CI/CD, 推送, Ship, 基础设施, 部署] dependencies: [railway-cli] allowed-tools: Bash(railway:*)
Railway 部署
使用 railway up 将当前目录的代码部署到 Railway。
何时使用
- 用户要求 “deploy”、“ship”、“push code”
- 用户说 “railway up” 或 “deploy to Railway”
- 用户想要部署本地代码更改
- 用户说 “deploy and fix any issues”(使用 --ci 模式)
模式
Detach 模式(默认)
启动部署并立即返回。用于大多数部署。
railway up --detach
CI 模式
流式传输构建日志直到完成。当用户想要观看构建或需要调试问题时使用。
railway up --ci
何时使用 CI 模式:
- 用户说 “deploy and watch”、“deploy and fix issues”
- 用户正在调试构建失败
- 用户想要看到构建输出
部署特定服务
默认是链接的服务。要部署到不同的服务:
railway up --detach --service backend
部署到未链接的项目
部署到未先链接的项目:
railway up --project <project-id> --environment production --detach
需要同时使用 --project 和 --environment 标志。
CLI 选项
| 标志 | 描述 |
|---|---|
-d, --detach |
不附加到日志(默认) |
-c, --ci |
流式传输构建日志,完成后退出 |
-s, --service <NAME> |
目标服务(默认为链接的) |
-e, --environment <NAME> |
目标环境(默认为链接的) |
-p, --project <ID> |
目标项目(需要 --environment) |
[PATH] |
部署路径(默认为当前目录) |
目录链接
Railway CLI 向上遍历目录树以找到链接的项目。如果您在链接项目的子目录中,则无需重新链接。
对于子目录部署,最好通过 railway-environment 技能设置 rootDirectory,然后使用 railway up 正常部署。
部署后
Detach 模式
正在部署到 <service>...
使用 railway-deployment 技能检查构建状态(使用 --lines 标志)。
CI 模式
构建日志流式传输内联。如果构建失败,错误将在输出中。
CI 模式后不要运行 railway logs --build - 日志已经流式传输。如果您需要更多上下文,请使用 railway-deployment 技能和 --lines 标志(永远不要流式传输)。
可组合性
- 部署后检查状态:使用 railway-service 技能
- 查看日志:使用 railway-deployment 技能
- 修复配置问题:使用 railway-environment 技能
- 配置修复后重新部署:使用 railway-environment 技能
错误处理
没有项目链接
没有链接到 Railway 项目。先运行 `railway link`。
没有服务链接
没有服务链接。使用 --service 标志或运行 `railway service` 选择一个。
构建失败(CI 模式)
构建日志已经流式传输 - 直接从 railway up --ci 输出中分析。
CI 模式后不要运行 railway logs(没有 --lines 它会永远流式传输)。
常见问题:
- 缺少依赖项 → 检查 package.json/requirements.txt
- 构建命令错误 → 使用 railway-environment 技能修复
- Dockerfile 问题 → 检查 dockerfile 路径