プロパティとアクション スクリプトを定義するベスト プラクティスについて理解するには、ソフトウェア コンポーネントとアプリケーション ブループリントを VMware Solution Exchange からダウンロードしてインポートします。

ソフトウェア コンポーネントを開発するときは、これらのベスト プラクティスに従います。

  • スクリプトを中断することなく実行するには、戻り値をゼロ (0) に設定する必要があります。この設定により、エージェントはすべてのプロパティをキャプチャし、それらを ソフトウェア サーバに送信できます。

  • 一部のインストーラでは、tty コンソールへのアクセスが必要になります。/dev/console からの入力をリダイレクトします。たとえば、RabbitMQ ソフトウェア コンポーネントでは、インストール スクリプトで ./rabbitmq_rhel.py --setup-rabbitmq < /dev/console コマンドを使用することがあります。

  • コンポーネントが複数のライフ サイクル ステージを使用する場合は、INSTALL ライフ サイクル ステージでプロパティ値を変更できます。新しい値は、次のライフ サイクル ステージに送られます。アクション スクリプトは展開中にプロパティの値を計算し、依存しているその他のスクリプトにその値を提供できます。たとえば、Clustered Dukes Bank サンプル アプリケーションでは、インストール ライフ サイクル ステージ中に JBossAppServer サービスが JVM_ROUTE プロパティを計算します。このプロパティは、JBossAppServer サービスがライフ サイクルを構成するために使用します。次に、Apache ロード バランサ サービスは、その JVM_ROUTE プロパティを all(appserver:JbossAppServer:JVM_ROUTE) プロパティにバインドし、node0 と node1 の最終計算値を取得します。アプリケーションの展開を正常に完了するために、コンポーネントが別のコンポーネントからのプロパティ値を必要とする場合、アプリケーションブループリントに依存関係を明示的に記述する必要があります。

    注:

    複数のライフ サイクル ステージを使用するコンポーネントのコンテンツ プロパティの値は変更できません。