跳到主要內容

部署到 Fly.io

本指南說明如何將使用 Prisma ORM 和 PostgreSQL 的 Node.js 伺服器部署到 Fly.io。

Prisma Render 部署範例 包含一個具有 REST 端點和簡單前端的 Express.js 應用程式。此應用程式使用 Prisma Client 從其資料庫提取、建立和刪除記錄。本指南將向您展示如何在 Fly.io 上部署相同的應用程式,而無需修改。

關於 Fly.io

fly.io 是一個雲端應用程式平台,讓開發人員可以輕鬆部署和擴展完整堆疊應用程式,這些應用程式在靠近使用者的機器上按需啟動。對於本範例,了解以下資訊很有幫助:

  • Fly.io 讓您可以在全球 35 個地區 部署長時間運行的「伺服器式」完整堆疊應用程式。預設情況下,應用程式配置為在不使用時 自動停止,並在需要時隨著請求的到來自動啟動。
  • Fly.io 原生支援各種 語言和框架,包括 Node.js 和 Bun。在本指南中,我們將使用 Node.js 執行時環境。
  • Fly.io 可以直接從 GitHub 啟動應用程式。從 CLI 執行時,fly launch 將自動配置託管在 GitHub 上的應用程式以在推送時部署。

先決條件

取得範例程式碼

下載 範例程式碼 到您的本機電腦。

curl https://codeload.github.com/prisma/prisma-examples/tar.gz/latest | tar -xz --strip=2 prisma-examples-latest/deployment-platforms/render
cd render

了解範例

在部署應用程式之前,讓我們先看一下範例程式碼。

網路應用程式

Express 應用程式的邏輯位於兩個檔案中

  • src/index.js:API。端點使用 Prisma Client 從資料庫提取、建立和刪除資料。
  • public/index.html:網路前端。前端呼叫一些 API 端點。

Prisma Schema 和遷移

此應用程式的 Prisma 組件位於三個檔案中

  • prisma/schema.prisma:此應用程式的資料模型。此範例定義了兩個模型,UserPost。此檔案的格式遵循 Prisma schema
  • prisma/migrations/<migration name>/migration.sql:在 PostgreSQL 資料庫中建構此 schema 的 SQL 命令。您可以透過執行 prisma migrate dev 自動產生像這樣子的遷移檔案。
  • prisma/seed.js:定義了一些測試使用者和貼文 Prisma,用於 為資料庫植入 啟動資料。

部署範例

1. 執行 fly launch 並接受預設值

就是這樣。您的網路服務將在其 fly.dev URL 上線,部署完成後立即生效。您可以選擇 擴展 機器的尺寸、數量和位置,如所期望的。fly console 可用於 ssh 連線到新的或現有的機器。

更多資訊可以在 fly.io 文件 中找到。