NetlifyDeployer
NetlifyDeployerは、Mastraアプリケーションをネットリファイ・ファンクションにデプロイし、サイトの作成、設定、およびデプロイプロセスを処理します。抽象Deployerクラスを拡張して、Netlify固有のデプロイ機能を提供します。
使用例
import { Mastra } from "@mastra/core";
import { NetlifyDeployer } from "@mastra/deployer-netlify";
const mastra = new Mastra({
deployer: new NetlifyDeployer({
scope: "your-team-slug",
projectName: "your-project-name",
token: "your-netlify-token",
}),
// ... other Mastra configuration options
});
パラメーター
コンストラクターのパラメーター
scope:
string
あなたのNetlifyチームのスラッグまたはID。
projectName:
string
あなたのNetlifyサイトの名前(存在しない場合は作成されます)。
token:
string
あなたのNetlify認証トークン。
環境変数
NetlifyDeployerは複数のソースから環境変数を扱います:
- 環境ファイル:
.env.production
および.env
ファイルからの変数。 - 設定: Mastraの設定を通じて渡された変数。
- Netlifyダッシュボード: Netlifyのウェブインターフェースからも変数を管理できます。
Mastraプロジェクトのリント
Mastraプロジェクトをリントして、ビルドに問題がないことを確認します
npx mastra lint
Mastraプロジェクトのビルド
Netlifyへのデプロイ用にMastraプロジェクトをビルドするには、以下の手順を実行します。
npx mastra build
ビルドプロセスにより、.mastra/output
ディレクトリに次のような出力構造が生成されます。
.mastra/output/
├── netlify/
│ └── functions/
│ └── api/
│ └── index.mjs # アプリケーションのエントリーポイント
└── netlify.toml # Netlifyの設定ファイル
Netlifyの設定
NetlifyDeployerは、.mastra/output
内に自動的にnetlify.toml
設定ファイルを次の内容で生成します。
[functions]
node_bundler = "esbuild"
directory = "netlify/functions"
[[redirects]]
force = true
from = "/*"
status = 200
to = "/.netlify/functions/api/:splat"
デプロイメントオプション
ビルド後、Mastraアプリケーションの .mastra/output
をNetlifyに以下のいずれかの方法でデプロイできます:
-
Netlify CLI: Netlifyの公式CLIツールを使って直接デプロイ
- CLIをインストール:
npm install -g netlify-cli
- 出力ディレクトリに移動:
cd .mastra/output
- functionsディレクトリを指定してデプロイ:
netlify deploy --dir . --functions ./netlify/functions
- 本番環境にデプロイする場合は
--prod
フラグを追加:netlify deploy --prod --dir . --functions ./netlify/functions
- CLIをインストール:
-
Netlifyダッシュボード: Gitリポジトリを接続するか、Netlifyダッシュボードでビルド出力をドラッグ&ドロップ
-
Netlify Dev: Netlifyの開発環境でMastraアプリケーションをローカルで実行
出力ディレクトリ
.mastra/output
でnetlify dev
を実行することで、Mastraアプリケーションをローカルでテストすることもできます。