ローカル エージェントの展開前スクリプトと展開後スクリプト
ローカル エージェント 2.3.0 は、配置前スクリプトおよび配置後スクリプトの実行をサポートしています。 したがって、環境配置の前後に実行される Microsoft Windows PowerShell スクリプトを設定できるようになりました。 この機能は、配置と再配置に適用されるほか、サービス操作にも適用されます。
この機能を使用できるようにするには、エージェント ファイル共有にスクリプト フォルダーを作成する必要があります。 配置前スクリプトを実行するには、スクリプト フォルダーに PreDeployment.ps1 ファイルを作成します。 配置後スクリプトを実行するには、PostDeployment.ps1 ファイルを作成します。 次の例は、フォルダー構造を示しています。
- \\\fileserver\agent\scripts\PreDeployment.ps1
- \\\fileserver\agent\scripts\PostDeployment.ps1
これらのファイルが存在しない場合、配置は通常どおりに続行されます。 次の例は、新しい配置フローを示しています。
配置または再配置
- 異常なモジュールを取得します。 このステップでは、既存のサービスの健全性を取得して、問題を見つけます。 このステップは再配置シナリオにのみ適用されます。
- モジュールをクリーンアップします。 このステップでは、サービスが取り除かれ、wp フォルダの内容が削除されます。 このステップは再配置シナリオにのみ適用されます。
- ダウンロード コンポーネントをリンクします。 このステップでは、Microsoft Dynamics Lifecycle Services (LCS) からのコンポーネントのダウンロード、抽出、処理が行われます。
- 配置前スクリプト。 このステップでは PreDeployment.ps1 スクリプト (存在する場合) が実行されます。
- モジュールを設定します。 このステップでは、新しいサービスが配置されます。
- 配置後スクリプト。 このステップでは PostDeployment.ps1 スクリプト (存在する場合) が実行されます。
サービス:
- サービスの準備を行います。 このステップでは、LCS でパッケージを準備し、環境にダウンロードします。
- モジュールをクリーンアップします。 このステップでは、サービスが取り除かれ、wp フォルダの内容が削除されます。
- ダウンロード コンポーネントをリンクします。 このステップでは、LCS から以前にダウンロードしたコンポーネントの抽出および処理が行われます。
- 配置前スクリプト。 このステップでは PreDeployment.ps1 スクリプト (存在する場合) が実行されます。
- モジュールを設定します。 このステップでは、新しいサービスが配置されます。
- 配置後スクリプト。 このステップでは PostDeployment.ps1 スクリプト (存在する場合) が実行されます。
メモ
配置前スクリプトと配置後スクリプトには、任意のものを含めることができます。 スクリプトによって実行されるコードは、顧客の責任を負うものです。 ローカル エージェントはスクリプトを起動するだけです。
カスタマイズ
スクリプト実行の既定のタイムアウトは 30 分です。 この値を変更するには、localagent-config.json ファイルを変更し、その変更したファイルを使用してローカル エージェントを再インストールします。 次の属性は、タイムアウト値を定義するもので、ここで示すように設定する必要があります。 (ここに示すコードは、ファイル内の LocalAgent コンポーネントに含まれています。)
"powershellScriptRunner": {
"timeoutMinutes": {
"value": "30"
}
}
ログ記録
スクリプトからの出力およびエラー メッセージは、.log ファイルや .err ファイルとして、スクリプト フォルダーのログ フォルダーに書き込まれます。 スクリプトがタイムアウトした場合は、エラー メッセージのみがログに記録されます。 このエラー メッセージには、タイムアウトのメッセージが含まれます。 この場合、他の出力は記録されません。
スクリプトの実行は、Event Tracing for Windows (ETW) イベントとしてもログに記録されます。 これらのイベントはイベント ビューアーで表示できます。 スクリプトでエラーが発生すると、エラー イベントがログに記録されますが、配置は通常どおり続行されます。