跳至主要内容

部署到Sevalla

本指南解释了如何将使用 Prisma ORM 和 PostgreSQL 的 Node.js 服务器部署到 Sevalla。该应用程序暴露了一个 REST API,并使用 Prisma Client 查询 PostgreSQL 数据库。应用程序和数据库都将托管在 Sevalla 上。

Sevalla 是一个以开发者为中心的 PaaS 平台,旨在简化应用程序和服务器部署。您可以轻松托管您的应用程序、数据库、对象存储和静态站点。

它支持基于 Git 的部署、Dockerfiles 和 Procfiles,并在 Google Kubernetes Engine 上运行,通过 Cloudflare 提供全球交付。

对于此示例,了解以下信息会有所帮助:

  • Sevalla 支持具有内置自动扩展和灵活 Pod 大小的长时间运行的“有服务器”应用程序。
  • 基于 Git 的部署与 GitHub、GitLab 和 Bitbucket 集成。
  • PostgreSQL、MySQL、MariaDB、Redis 和 Valkey 数据库均得到原生支持。
  • 应用程序和数据库可以通过具有自动环境变量注入的私有网络安全连接。

先决条件

要开始使用,您只需要:

  • 一个 Sevalla 账户(包含 50 美元的免费积分)
  • 一个包含您的应用程序代码的 GitHub 仓库。

注意:如果您还没有准备好的项目,您可以使用我们的示例 Prisma 项目。它是一个简单的 Express.js 应用程序,使用 Prisma ORM,包含一个 REST API、一个用于测试端点的前端、一个定义了迁移的 Prisma 模式以及一个可选的数据库种子脚本。

在 Sevalla 上创建应用程序

首先,在您的 Sevalla 控制面板上创建一个新的应用程序。单击侧边栏上的 Applications(应用程序),然后单击 Create an app(创建应用程序)按钮,如下图所示。

Sevalla app creation interface

接下来,选择您的 Git 仓库。Sevalla 支持从私有和公共仓库部署。如果您正在使用我们的示例项目,无需 Fork——只需输入 URL https://github.com/sevalla-templates/express-prisma-demo

Choose repository interface in Sevalla

选择适当的分支(通常是 mainmaster),设置您的应用程序名称,选择所需的部署区域,并选择您的 pod 大小。(您可以使用免费积分从 0.5 CPU / 1GB RAM 开始)

Name application interface in Sevalla

单击 Create(创建),但暂时跳过部署步骤,这样就不会因为我们尚未添加数据库而失败。

在 Sevalla 上设置数据库

在您的 Sevalla 控制面板上,点击 Databases(数据库)> Add database(添加数据库)。选择 PostgreSQL(或您偏好的已配置数据库类型),然后提供数据库名称、用户名和密码,或者直接使用默认生成的详细信息。

Create database interface in Sevalla

接下来,为数据库提供一个易于识别的名称,以便在您的 Sevalla 控制面板中轻松识别。确保您选择与应用程序相同的区域,选择适当的数据库大小,然后点击 Create(创建)。

数据库创建完成后,向下滚动到 Connected Applications(已连接应用程序)部分,然后点击 Add Connection(添加连接)。

选择您之前创建的应用程序并启用“添加环境变量”。确保变量名称设置为 DATABASE_URL(如果默认为 DB_URL,请相应地更改)。

App internal connection interface in Sevalla

最后,点击 Add connection(添加连接)。这会将您的应用程序安全地链接到您的数据库并配置必要的环境变量。

触发部署

现在您的应用程序和数据库已连接,返回应用程序的 Deployment(部署)选项卡并单击 Deploy(部署)。

注意:Sevalla 使用 Nixpacks 自动构建您的应用程序,检测您项目的 package.jsonstart 脚本。如果您更喜欢使用 Dockerfile 或 Buildpacks,请导航到 Settings(设置)> Build(构建),然后点击 Build environment(构建环境)部分下的 Update Settings(更新设置)以自定义您的构建方法。

填充数据库(可选)

如果您的项目包含一个种子脚本(通常位于 prisma/seed.js),您可以在部署应用程序后使用初始或演示数据填充您的数据库。

为此,请导航到您应用程序的 Web Terminal(在 Applications(应用程序)> [您的应用程序] > Web Terminal 下),然后运行以下命令:

npx prisma db seed

这是网页终端的样子:

Sevalla web terminal interface

完成后,您可以通过 Sevalla 内置的交互式工作室直接管理和与您的数据库交互。如下所示,我们可以看到填充的数据。

Sevalla database studio interface

恭喜!您已成功使用 Prisma ORM 将 Node.js 应用程序部署到 Sevalla。您的应用程序和数据库现已连接、安全且可投入生产!

© . This site is unofficial and not affiliated with Prisma Data, Inc.