メインコンテンツへスキップ

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でホストされているアプリケーションを自動的に設定し、プッシュ時にデプロイします。

前提条件

  • Fly.ioアカウントにサインアップしてください。

サンプルコードの入手

サンプルコードをローカルマシンにダウンロードしてください。

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

サンプルの理解

アプリをデプロイする前に、サンプルコードを見てみましょう。

ウェブアプリケーション

Expressアプリのロジックは2つのファイルにあります。

  • src/index.js: API。エンドポイントはPrisma Clientを使用して、データベースからデータをフェッチ、作成、削除します。
  • public/index.html: ウェブフロントエンド。フロントエンドはいくつかのAPIエンドポイントを呼び出します。

Prismaスキーマとマイグレーション

このアプリのPrismaコンポーネントは3つのファイルにあります。

  • prisma/schema.prisma: このアプリのデータモデル。この例では、UserPostの2つのモデルを定義しています。このファイルの形式はPrismaスキーマに準拠しています。
  • prisma/migrations/<migration name>/migration.sql: PostgreSQLデータベースでこのスキーマを構築するSQLコマンド。これのようなマイグレーションファイルはprisma migrate devを実行することで自動生成できます。
  • prisma/seed.js: いくつかのテストユーザーと投稿を定義し、データベースに初期データをシードするために使用されます。

サンプルのデプロイ

1. fly launchを実行し、デフォルトを受け入れる

以上です。デプロイが完了するとすぐに、ウェブサービスはfly.devのURLでライブになります。必要に応じて、マシンのサイズ、数、配置をスケールできます。fly consoleを使用して、新規または既存のマシンにSSH接続できます。

詳細はfly.ioドキュメントを参照してください。

© . All rights reserved.