mcpField
R
railway-deployment

railway-deployment

github.com/davila7云与 DevOps33.0k393 次安装1 天前更新
代码仓库

关于 railway-deployment

用于管理现有 Railway 部署的技能,涵盖部署列表、日志查看、重新部署、重启和停止部署。适合需要通过 Railway CLI 排查运行或构建问题的团队;停止部署不会删除服务。

主要功能

  1. 01列出部署及状态
  2. 02查看并筛选部署与构建日志
  3. 03重新部署或重启服务
  4. 04停止部署但保留服务
  5. 05按服务、环境和时间过滤

适用场景

  1. 01查看部署历史与当前状态
  2. 02筛查构建失败或运行错误日志
  3. 03配置变更后重新部署或重启
  4. 04停止服务的当前部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill railway-deployment

安装后在 Claude Code 中输入/railway-deployment确认已加载。

详细介绍

Railway 部署管理

管理现有的 Railway 部署:列出、查看日志、重新部署或移除。

重要:「移除部署」(railway down)会停止当前部署,但保留服务。要彻底删除服务,请使用 railway-environment 技能并设置 isDeleted: true。

适用场景

  • 用户说「移除部署」「下线服务」「停止部署」「railway down」
  • 用户想要「重新部署」「重启服务」「重启部署」
  • 用户要求「列出部署」「显示部署历史」「部署状态」
  • 用户要求「查看日志」「显示日志」「检查错误」「调试问题」

列出部署

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
过滤日志
# Errors only
railway logs --lines 50 --filter "@level:error" --json

# Text search
railway logs --lines 50 --filter "connection refused" --json

# Combined
railway logs --lines 50 --filter "@level:error AND timeout" --json
基于时间的过滤
# Logs from last hour
railway logs --since 1h --lines 100 --json

# Logs between 30 and 10 minutes ago
railway logs --since 30m --until 10m --lines 100 --json

# Logs from specific timestamp
railway logs --since 2024-01-15T10:00:00Z --lines 100 --json

格式:相对时间(30s、5m、2h、1d、1w)或 ISO 8601 时间戳。

来自特定部署的日志

部署日志:

railway logs <deployment-id> --lines 100 --json

构建日志:

railway logs --build <deployment-id> --lines 100 --json

从 railway deployment list 获取部署 ID。

**注意:**部署 ID 是位置参数,而不是 --deployment <id>。--deployment 标志是一个布尔值,用于选择部署日志(与之相对的是 --build,用于构建日志)。

重新部署

重新部署最近一次的部署:

railway redeploy --service <name> -y

-y 标志跳过确认。适用于以下情况:

  • 通过 railway-environment 技能更改了配置
  • 需要在不更新代码的情况下重启
  • 上一次部署成功但服务行为异常
仅重启容器

不重新构建直接重启(会拾取外部资源变更):

railway restart --service <name> -y

适用于外部资源(S3 文件、配置映射)发生变化但代码未变的情况。

移除部署

下线当前部署。服务仍然存在,但没有正在运行的部署。

# Remove deployment for linked service
railway down -y

# Remove deployment for specific service
railway down --service web -y
railway down --service api -y

这就是用户说「移除部署」「下线」或「停止部署」时所指的操作。

**注意:**这不会删除服务。要彻底删除服务,请使用 railway-environment 技能并设置 isDeleted: true。

CLI 选项

deployment list
标志描述
-s, --service <NAME>服务名称或 ID
-e, --environment <NAME>环境名称或 ID
--limit <N>最大部署数(默认 20,最大 1000)
--jsonJSON 输出
logs
标志描述
-s, --service <NAME>服务名称或 ID
-e, --environment <NAME>环境名称或 ID
-d, --deployment显示部署日志(默认,布尔标志)
-b, --build显示构建日志(布尔标志)
-n, --lines <N>行数(必填)
-f, --filter <QUERY>使用查询语法过滤
--since <TIME>开始时间(相对时间或 ISO 8601)
--until <TIME>结束时间(相对时间或 ISO 8601)
--latest最近的部署(即使失败)
--jsonJSON 输出
[DEPLOYMENT_ID]特定部署(可选)
redeploy
标志描述
-s, --service <NAME>服务名称或 ID
-y, --yes跳过确认
restart
标志描述
-s, --service <NAME>服务名称或 ID
-y, --yes跳过确认
down
标志描述
-s, --service <NAME>服务名称或 ID
-e, --environment <NAME>环境名称或 ID
-y, --yes跳过确认

展示日志

展示日志时:

  • 包含时间戳
  • 高亮显示警告和错误
  • 对于构建失败:显示错误并建议修复方案
  • 对于运行时崩溃:显示堆栈跟踪上下文
  • 总结日志模式(例如,“最近 100 条日志中有 3 个超时错误”)

可组合性

  • 推送新代码:使用 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`.
未找到日志

部署可能太旧(日志保留限制)或服务尚未产生日志。

评论

支持 Markdown