環境
すべてのplatformプロジェクトには、1つ以上の環境が含まれます。
環境とは、固有のURL、環境変数、デプロイ履歴を持つ、分離されたデプロイ先です。環境ごとに独自のホステッドデータベースを持つこともできます。
環境を使用すると、1つのプロジェクト内で同じコードベースのproduction、staging、previewバージョンを実行できます。
最初のmastra deployでproduction環境が作成されます。CLIを使用するか、まだ存在しない名前にデプロイして、環境を追加できます。
環境を作成する環境を作成するへの直接リンク
環境を明示的に作成します。
mastra env create staging
または、デプロイ時に確認プロンプトを表示して作成します。
mastra deploy --env staging
mastra env createのデフォルトはstagingタイプです。--typeを渡すとstagingまたはpreviewを明示的に設定でき、--regionを渡すと環境を実行する場所を選択できます。
mastra env create eu-preview --type preview --region eu
各プロジェクトには、最初のデプロイで作成されるproduction環境が1つだけあります。リージョンは作成時に固定されます。環境に接続されたデータベースは、その環境のリージョン付近に自動配置され、Observabilityデータは対応するデータレジデンシーゾーンの取り込みリージョンにルーティングされます。対応リージョン、データベースの配置、Observabilityのコロケーションについては、リージョンを参照してください。プロジェクトごとの環境数はプランによって異なります。
環境の一覧を表示する環境の一覧を表示するへの直接リンク
mastra env list
出力には、各環境の名前、リージョン、アクティブなデプロイの状態、接続されたデータベースによって注入された管理対象の環境変数が表示されます。CIで機械可読な出力を得るには、--jsonを渡します。
すべてのmastra envコマンドは、MASTRA_PROJECT_ID、--projectフラグ、最初のデプロイで書き込まれた.mastra-project.jsonファイルの順にプロジェクトを解決します。プロジェクトディレクトリから実行すれば、プロジェクト名を指定する必要はありません。
環境変数環境変数への直接リンク
環境は、次の3つのスコープから変数を解決します。
- 管理変数: 接続されたホステッドデータベースによって注入されます(例:
TURSO_DATABASE_URL)。platformが定義するため、編集できません。 - 環境スコープ変数: ダッシュボードを通じて1つの環境に保存されます。staging用とproduction用サービスのAPIキーなど、環境ごとに異なる値に使用します。
- プロジェクトスコープ変数: プロジェクトに保存され、すべての環境で共有されます。
環境スコープ変数とプロジェクトスコープ変数を合わせたものが、デプロイページで説明する保存変数です。
変数はデプロイの開始時に適用されます。完全な再デプロイを行わず、変更した変数を実行中のサービスに適用するには、次を実行します。
mastra env restart staging
環境のデプロイで実際に使用される変数一式を確認するには、環境スコープとプロジェクトスコープの値をマージし、管理変数を名前付きで含めたローカルenvファイルとして取得します。
mastra env vars pull staging --output .env.staging
管理変数の値はデプロイ時に注入され、ファイルには書き込まれません。名前だけのコメントとして表示されます。
環境変数で管理対象データベースの変数を上書きすることはできません。環境を別のデータベースに接続するには、代わりに環境スコープのデータベースを接続してください。
デプロイ履歴デプロイ履歴への直接リンク
すべての環境のデプロイを一覧表示するか、1つの環境に絞り込みます。
mastra env deploys
mastra env deploys staging
各行には、デプロイの状態、環境、タイムスタンプ、現在アクティブなデプロイが表示されます。デプロイはqueued → uploading → building → deploying → runningの順に遷移し、新しいバージョンがトラフィックを処理し始めたときにのみ、platformはrunningと報告します。
環境のデータを分離する環境のデータを分離するへの直接リンク
ホステッドデータベースは、デフォルトで1つの環境をスコープとするため、productionとstagingはそれぞれ独自のデータベースを読み書きします。
mastra env db create production --kind turso --name my-project-production-db
mastra env db create staging --kind turso --name my-project-staging-db
すべての環境で1つのデータベースを共有する場合は、代わりに--sharedを指定して接続します: mastra env db create --kind turso --shared。
環境で使用できるデータベースは、Providerごとに1つだけです。同じProviderの共有(--shared)データベースがすでにプロジェクトにある場合、環境スコープのデータベースを接続しようとすると変数名の競合により拒否されるため、先にmastra env db deleteで共有データベースを削除してください。データベースを削除すると、Provider上のデータベースとその全データが破棄されるため、保持する必要があるデータはエクスポートしてください。スコープの詳細については、ホステッドデータベースを参照してください。
環境を削除する環境を削除するへの直接リンク
mastra env delete staging
CLIは削除前に確認を求めます。環境を削除すると、そのデプロイと保存変数も削除されます。