質問
⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。
🕓 事例公開日 : 2024-06-04
【背景】
開発中のアプリケーションで、画面から入力された設定内容をもとに、スクリプト開発モデルの*.htmlや*.jsファイルを自動生成する仕組みを実装している。これらのファイルを適切な場所に配置するため、デプロイ先のディレクトリパスを把握する必要がある。Q1. スクリプト開発モデルのファイルが配置されるパスを知りたい
画面操作で生成したスクリプト開発モデルのファイル(*.html、*.js)を出力する際、配置先のディレクトリパスを確認したい。Windowsでいう「C:\resin-pro-4.0.65\webapps\imart」に相当するパスはどこか。Q2. 自動生成したファイルをサーバー上に直接配置する予定だが、注意点はあるか
各APサーバ上に自動的にファイルを配置する方式を検討しているが、この実装方法で問題ないか確認したい。回答
A1. スクリプト開発モデルのデプロイ先パス
スクリプト開発モデルのソースディレクトリは以下のパスになります。ソースディレクトリ:
/opt/accel-mart/resin/webapps/imart/WEB-INF/jssp/src
アプリケーションルート:
/opt/accel-mart/resin/webapps/imart
詳細は、Accel-Mart Plus契約後にご利用いただけるドキュメント(Resinアプリケーション格納ディレクトリに関する詳細情報)をご確認ください。
A2. APサーバ上への直接配置における注意点と推奨方法
APサーバ上のソースディレクトリに直接ファイルを配置する方式には、以下の問題があります。問題点:
・warファイルを再デプロイすると、自動生成したファイルが削除される
・Mediumプラン以上の複数APサーバ環境では、特定サーバにのみファイルが配置されるため正常に動作しない
推奨方法:PublicStorageをソースディレクトリとして設定
以下の手順でPublicStorageにJSSPソースディレクトリを設定してください。
1. Jugglingプロジェクトを開く
対象環境のJugglingプロジェクトをIM-Jugglingで開きます。
2. jssp-config.xmlにソースディレクトリを追加
/conf/jssp-config.xmlを開き、以下のようにソースディレクトリを追加します。
※jssp-config.xmlが存在しない場合は、「設定ファイル」タブから「スクリプト開発モデル」の設定ファイルを出力してください。
<source-path><general><directory>/opt/accel-mart/iap_storage/public/storage/_custom_jssp/src/</directory><directory>jssp/src</directory><directory>jssp/product/src</directory><directory>jssp/compatible/src</directory><directory>jssp/platform/src</directory></general></source-path>
※ディレクトリ名「_custom_jssp」は任意の名前に変更可能です。
3. source-config.xmlを配置
追加したディレクトリ直下に
source-config.xmlを配置します。このファイルはwarファイルを展開した/WEB-INF/jssp/srcから取得できます。
インタプリタモードに設定する場合は、以下のように記述します。
<resource-file><javascript><compiler enable="false" /></javascript></resource-file>
参考ドキュメント:
https://document.intra-mart.jp/library/iap/public/development/script_programming_guide/texts/application/configure/index.html#source-config.xml
https://document.intra-mart.jp/library/iap/public/configuration/im_configuration_reference/texts/im_jssp/source-config/index.html#javascriptコンパイラの設定
4. ソースコードを配置
追加したディレクトリに自動生成したファイルを配置します。ファイルの配置にはSFTPクライアントをご利用ください。
接続方法の詳細:
https://aws.accel-mart.com/startup_guide/texts/03_startup/06_sftp_login/02_access_storage.html
この方法により、複数APサーバ環境でも正常に動作し、warファイル再デプロイ時にもファイルが保持されます。