SuperAPI AI 工具集

railway-deployment

部署与运维

查看项目

更新于 10-15 12:37

技能介绍

用途

本技能用于管理已存在的 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. 无日志:部署可能过久(超出日志保留限制),或服务尚未产生输出。