跳到主要內容

部署到 Netlify

本指南涵蓋了將使用 Prisma ORM 的應用程式部署到 Netlify 所需的步驟。

Netlify 是一個用於持續部署、靜態站點和無伺服器功能的雲平臺。Netlify 與 GitHub 無縫整合,可在提交時自動部署。按照以下步驟操作,您將使用這種方法建立一個 CI/CD 管道,從 GitHub 倉庫部署您的應用程式。

前提條件

在您遵循本指南之前,您需要設定您的應用程式以開始部署到 Netlify。我們推薦閱讀 《Netlify 入門》 指南以快速瞭解,以及 《部署函式》 以深入瞭解您的部署選項。

schema.prisma 中的二進位制目標

由於您的程式碼將部署到 Netlify 的環境,這不一定與您的開發環境相同,因此您需要在構建步驟中設定 binaryTargets 以便下載與 Netlify 執行時相容的查詢引擎。如果您不設定此選項,您的部署程式碼將包含不正確的查詢引擎,並且無法正常工作。

根據 Node.js 的版本,您的 Prisma schema 的 generator 塊中應包含 rhel-openssl-1.0.xrhel-openssl-3.0.x

binaryTargets = ["native", "rhel-openssl-1.0.x"]

在 Netlify 中儲存環境變數

我們建議將 .env 檔案保留在 .gitignore 中,以防止敏感連線字串洩露。相反,您可以使用 Netlify CLI 直接將值匯入到 Netlify 中

假設您有以下檔案

.env
# Connect to DB
DATABASE_URL="postgresql://postgres:__PASSWORD__@__HOST__:__PORT__/__DB_NAME__"

您可以使用 env:import 命令將檔案作為環境變數上傳

netlify env:import .env
顯示查詢結果
site: my-very-very-cool-site
---------------------------------------------------------------------------------.
Imported environment variables |
---------------------------------------------------------------------------------|
Key | Value |
--------------|------------------------------------------------------------------|
DATABASE_URL | postgresql://postgres:__PASSWORD__@__HOST__:__PORT__/__DB_NAME__ |
---------------------------------------------------------------------------------'
如果您沒有使用 .env 檔案

如果您以其他方式儲存資料庫連線字串和其他環境變數,您將需要手動將您的環境變數上傳到 Netlify。這些選項在 Netlify 的文件中有所討論,其中一種方法(透過 UI 上傳)在下面進行了描述。

  1. 開啟站點的 Netlify 管理 UI。您可以使用 Netlify CLI 如下操作:
    netlify open --admin
  2. 點選 站點設定Netlify 管理 UI
  3. 導航到左側邊欄中的 構建與部署,然後選擇 環境
  4. 點選 編輯變數 並建立一個名為 DATABASE_URL 的變數,將其值設定為您的資料庫連線字串。 Netlify 環境變數
  5. 點選 儲存

現在開始一個新的 Netlify 構建和部署,以便新構建可以使用新上傳的環境變數。

netlify deploy

您現在可以測試部署的應用程式。

連線池

當您使用函式即服務(FaaS)提供商(如 Netlify)時,出於效能原因,使用資料庫連線池是有益的。這是因為每次函式呼叫都可能導致與資料庫建立新連線,這會很快耗盡可用連線。

您可以使用 Accelerate 進行連線池,或者使用內建連線池的 Prisma Postgres,以減少 Prisma Client 包大小並避免冷啟動。

有關無伺服器環境下的連線管理的更多資訊,請參閱我們的 連線管理指南

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