先决条件:
- 一个准备好部署的 Bun 应用
- 一个 Railway 账号
- Railway CLI(用于 CLI 部署方式)
- 一个 GitHub 账号(用于仪表盘部署方式)
方法一:通过 CLI 部署
1
步骤 1
安装 Railway CLI。
terminal
2
步骤 2
登录您的 Railway 账号。
terminal
3
步骤 3
完成身份验证后,初始化一个新项目。
terminal
4
步骤 4
初始化项目后,添加新的数据库和服务。
如果您的应用不使用数据库,跳过步骤 4,直接进行步骤 5。
terminal
5
步骤 5
服务创建并连接后,将应用部署到 Railway。默认情况下,服务只能在 Railway 的私有网络中访问,因此请生成一个公共域名,以便让您的应用可公开访问。
terminal
railway up 部署的是您的本地目录,而不是 GitHub 仓库;如果希望 Railway 在每次 GitHub 推送时自动部署,请使用 railway service source connect --repo <owner>/<repo> --branch <branch> 将服务连接到您的仓库。
方法二:通过仪表盘部署
1
步骤 1
创建新项目
- 打开 Railway 仪表盘
- 点击 ”+ 新建” → “GitHub 仓库”
- 选择您的代码仓库
2
步骤 2
添加 PostgreSQL 数据库,并将该数据库连接到服务
如果应用不使用数据库,此步骤可跳过,直接进行步骤 3。
- 点击 ”+ 新建” → “数据库” → “添加 PostgreSQL”
- 数据库创建完成后,选择您的服务(不是数据库)
- 转到 “变量” 标签页
- 点击 ”+ 创建新变量” → “添加引用”
- 从 postgres 中选择
DATABASE_URL
3
步骤 3
生成公共域名
- 选择您的服务
- 转到 “设置” 标签页
- 在 “网络” 区块,点击 “生成域名”
配置(可选)
默认情况下,Railway 使用 Railpack 自动检测并以零配置构建您的 Bun 应用。 Railpack 会根据您的bun.lock 检测 Bun,并安装最新版本的 Bun,除非您在 package.json 的 engines.bun 或 packageManager 字段中指定了版本。Railway 之前使用的构建器 Nixpacks 目前处于维护模式。
如果您的服务仍使用 Nixpacks 构建,请将以下内容添加到您的 railway.json,以切换到 Railpack:
railway.json