用途
本技能用于管理已存在的 Railway 部署,包括列出部署、查看日志、重新部署、重启以及移除部署。它不负责推送新代码(那属于 railway-deploy 技能),也不负责检查服务状态或修改配置。
主要能力
列出部署
railway deployment list --limit 10 --json
展示部署 ID、状态和元数据,可用于找到具体部署 ID 以便查日志或调试。可按服务过滤:
railway deployment list --service backend --limit 10 --json
查看日志
运行日志:
railway logs --lines 100 --json
在非交互模式下,流式输出会自动禁用,CLI 抓取日志后退出。
构建日志:
railway logs --build --lines 100 --json
用于调试构建失败或查看构建输出。
针对失败或进行中的部署,默认 railway logs 显示最近一次成功的部署,可使用 --latest 查看当前部署:
railway logs --latest --lines 100 --json
日志过滤:
railway logs --lines 50 --filter "@level:error" --json
railway logs --lines 50 --filter "connection refused" --json
railway logs --lines 50 --filter "@level:error AND timeout" --json
按时间过滤:
railway logs --since 1h --lines 100 --json
railway logs --since 30m --until 10m --lines 100 --json
railway logs --since 2024-01-15T10:00:00Z --lines 100 --json
时间格式支持相对时间(30s、5m、2h、1d、1w)或 ISO 8601 时间戳。
查看指定部署的日志(部署 ID 来自 deployment list):
railway logs <deployment-id> --lines 100 --json
railway logs --build <deployment-id> --lines 100 --json
注意:部署 ID 是位置参数,不是 --deployment <id>。--deployment 是一个布尔标志,用于选择部署日志(对应 --build 为构建日志)。
重新部署
railway redeploy --service <name> -y
-y 跳过确认。适用于:通过 railway-environment 技能修改了配置、需要不更新代码地重启、上次部署成功但服务表现异常。
仅重启容器
railway restart --service <name> -y
不重新构建,可拾取外部资源变更。适用于外部资源(S3 文件、配置映射)变化而代码未变的情况。
移除部署
下线当前部署,服务保留但没有正在运行的部署。
railway down -y
railway down --service web -y
railway down --service api -y
这就是用户所说“remove deploy”“take down”“stop the deployment”的含义。注意:这不会删除服务。要彻底删除服务,需使用 railway-environment 技能并设置 isDeleted: true。
命令行选项
deployment list:-s, --service <NAME>(服务名或 ID);-e, --environment <NAME>(环境名或 ID);--limit <N>(最大数量,默认 20,最大 1000);--json(JSON 输出)。
logs:-s, --service <NAME>;-e, --environment <NAME>;-d, --deployment(显示部署日志,默认布尔标志);-b, --build(显示构建日志,布尔标志);-n, --lines <N>(行数,必填);-f, --filter <QUERY>(查询语法过滤);--since <TIME>(起始时间,相对或 ISO 8601);--until <TIME>(结束时间);--latest(最近一次部署,即使失败);--json;[DEPLOYMENT_ID](指定部署,可选)。
redeploy:-s, --service <NAME>;-y, --yes(跳过确认)。
restart:-s, --service <NAME>;-y, --yes(跳过确认)。
down:-s, --service <NAME>;-e, --environment <NAME>;-y, --yes(跳过确认)。
展示日志的建议
展示日志时应包含时间戳、突出错误与警告;对构建失败显示错误并建议修复;对运行时崩溃显示堆栈上下文;总结模式(例如“最近 100 条日志中有 15 个超时错误”)。
与其他技能的组合
推送新代码用 railway-deploy 技能;检查服务状态用 railway-status 技能;修复配置问题用 railway-environment 技能;创建新服务用 railway-new 技能。
错误处理
未链接服务:No service linked. Run railway service to select one.
无部署:No deployments found. Deploy first with railway up.
无日志:部署可能过久(超出日志保留限制),或服务尚未产生输出。