用途:该技能面向 Railway 平台上的服务管理,适用于用户询问服务状态、健康或部署情况,判断“服务是否已部署”,重命名服务或更换图标,切换关联服务,或把 Docker 镜像部署为新服务(进阶场景)。注意:若用本地代码创建服务(常见情形),应优先使用 new 技能,它一并处理项目初始化、脚手架与服务创建;若来源为 GitHub 仓库,先用 new 技能创建空服务,再用 environment 技能经 staged changes API 配置 source.repo。
主要能力与用法:
- 查看状态。railway status --json 可获取 project.id(创建服务用)与 environment.id(暂存实例配置用)。railway service status --json 返回当前关联服务的部署状态。railway deployment list --json --limit 5 查看部署历史。展示时通常给出服务名与状态、最新部署状态(SUCCESS、FAILED、DEPLOYING、BUILDING、CRASHED、REMOVED 等)、上线时间及最近 3-5 条记录。
- 创建服务。无 CLI 命令,需通过 GraphQL 的 serviceCreate 变更完成,字段包括 projectId(必填)、name(省略则自动生成)、source.image、source.repo、branch、environmentId(为 fork 时仅在该环境创建)。示例:scripts/railway-api.sh 'mutation createService($input: ServiceCreateInput!) { serviceCreate(input: $input) { id name } }' '{"input": {"projectId": "PROJECT_ID"}}'。用镜像创建时可加 name 与 source.image,如 nginx:latest。连接 GitHub 仓库不要用 serviceCreate 的 source.repo,而应先创建空服务,再用 environment 技能经 staged changes API 配置并应用以触发部署。创建后需配置实例,务必包含 isCreated: true,再用 environment 技能应用和部署;变量引用见 reference/variables.md。
- 更新服务。通过 serviceUpdate 变更修改 name 或 icon;先从 railway status --json 取 service.id。图标可为图片 URL、动态 GIF 或 Devicons(如 https://devicons.railway.app/github,可在该站浏览)。
- 关联服务。railway service link 或 railway service link <service-name>。
组合与限制:配置服务、删除服务(isDeleted: true)、应用变更均用 environment 技能;查看日志用 deployment 技能;部署本地代码用 deploy 技能。权限上创建服务至少需要 DEVELOPER 角色;Docker 镜像须可访问(公开或配置仓库凭据)。常见错误包括未关联服务、尚无部署(可用 railway up)、服务或项目不存在、权限不足、镜像无效。以上未提及的收费、价格、平台范围与效果暂未提供。