Catalystマネージドランタイム
主要な概念
概要
アプリケーションのスタックがサポートされているランタイムのいずれかである場合、Catalystマネージドランタイムとしてデプロイできます。このWebサービスは、必要に応じて任意のフレームワーク、ライブラリ、プラグイン、依存関係を使用して開発できます。その名前が示す通り、Catalystが管理するのはランタイムのみです。コードに含まれる依存関係は引き続き自分で管理する必要があります。アプリケーションのビルドファイルは、CLIまたはコンソールから直接デプロイできます。
Catalystは現在、以下のランタイムを管理しています:
- Java: Java 8、Java 11、Java 17(Java SEおよびJava WARフォーマット)
- Node.js: Node 16、Node 18、Node 20
- Python: Python 3.9
AppSailにはCatalyst固有の設定やフォーマットの制限はほとんどありませんが、アプリのホスティングと実行に関する情報を含む特定の定義がアプリにバンドルされます。以下で説明します。
app-config.jsonファイル
CLIからCatalystマネージドランタイムとしてAppSailサービスを初期化または追加すると、Catalystは設定ファイルapp-config.jsonを作成し、アプリの設定を含めます。このファイルは、アプリを初期化したディレクトリ(ソースディレクトリとも呼ばれます)に作成されます。
Java向けに作成されたサンプルapp-config.jsonを以下に示します:
{
"command": "java -jar demo-0.0.1-SNAPSHOT.jar",
"buildPath": "/Users/emma-426/CatalystDirectories/DemoApp",
"stack": "java8",
"env_variables": {
"clientid":xxxxxxx,
"clientsecret":xxxxxx
},
"memory": 256,
"platform": "javase"
"scripts": {
"preserve": "mvn install -DskipTests"
"predeploy": "mvn install -DskipTests"
}
}
- command: アプリの起動コマンド
- buildPath: アプリのビルドファイルを含むディレクトリ
- stack: アプリのCatalystマネージドランタイム
- env_variables: アプリの環境変数
- memory: アプリの実行に割り当てられたメモリ
- platform: アプリがjavaseまたはjavawarフォーマットかを定義します(Javaスタックのみ適用)
- scripts: preserveとpredeployを通じてアプリのサーブまたはデプロイの前に実行できるスクリプト
パラメータstack、buildPath、platformの値は、アプリの初期化または追加時に必須で取得されます。他の値は、アプリをクラウドにデプロイする前にこのファイルで設定できます。デプロイ後にコンソールで直接、環境変数、メモリ、起動コマンドを設定することも可能です。
ソースディレクトリとビルドパス
-
デフォルトでは、アプリケーションのソースディレクトリは、アプリの初期化または追加コマンドを実行するディレクトリです。初期化時に現在のディレクトリ以外の別のディレクトリをソースとして選択することもできます。
-
アプリのソースファイルをソースディレクトリに追加する必要があります。
-
app-config.jsonファイルは、アプリのソースディレクトリに作成されます。
-
ターゲットディレクトリは、デプロイ可能なWebサービスのビルドファイルを含むディレクトリです。
-
アプリの初期化または追加時にターゲットディレクトリを指定するか、app-config.jsonファイルのパラメータbuild-pathに追加できます。
-
スタンドアロンデプロイを行う場合、現在のディレクトリがビルドディレクトリになります。
-
すべてのビルドファイルをまとめてバンドルやZIP化する必要はありません。AppSailは、指定したbuild-pathからアプリケーションのサーブまたはデプロイ中に自動的にバンドルします。
-
アプリのビルドのメインファイルには、任意の名前を付けることができます。ただし、Java WARファイルとしてアプリをビルドする場合は、メインファイルをroot.warと命名する必要があります。これは、アプリケーションのエンドポイントURLが生成される際に追加の設定を防ぐためです。WARファイルに別の名前を付ける場合は、コードに必要なコントローラーを追加する必要があります。
一般的なビルドファイル
Catalystマネージドランタイムでは、ランタイムとフレームワークに基づいて、コンパイルまたはデプロイ可能なコードは任意のフォーマットと構造になります。一般的なフォーマットを以下に示します:
-
Java: Java WARアプリの最終ビルドファイルは.warフォーマットです。WARファイルは、任意のアプリケーションサーバーで即座に実行できる標準的なデプロイ可能フォーマットです。JARファイル、JavaServer Pages、Java Servlets、Javaクラス、XMLファイル、HTML、CSSなどのアプリケーションソースのコンテナです。
ビルドファイルが*.war*ファイル以外のフォーマットの場合、Java SEテンプレートを選択できます。他のフォーマットには.jarやコンパイル済みクラスファイル.classなどがあります。Javaフレームワークやライブラリを使用する場合は、それらのファイルをビルドパスに含める必要があります。
-
Node.js: メインのデプロイ可能ファイルは通常.jsファイルです。フレームワークの基準や追加する依存関係に基づいて、node modulesと設定ファイルがアプリのディレクトリに含まれます。メインファイルとネイティブクライアントファイルとともに、すべてのnode modulesと設定ファイルをビルドパスに追加する必要があります。
-
Python: デプロイ可能なメインファイルは通常.pyファイルです。フレームワーク、プラグイン、または追加する依存関係の基準に基づいて、Pythonファイルと設定ファイルがアプリのディレクトリに含まれます。メインファイルとネイティブクライアントファイルとともに、すべてのモジュールと設定ファイルをビルドパスに追加する必要があります。
サンプルアプリの構築について詳しく学ぶには、各スタックで人気のフレームワークを使用してAppSailサービスとしてデプロイする方法について、サンプルアプリ構築のヘルプガイドを参照してください。
最終更新日 2026-03-05 11:43:24 +0530 IST
Yes
No
Send your feedback to us