0

AWS Beanstalk Windows IISインスタンスへの配備後にPowerShellスクリプトを実行しようとしています。次のようにこのために、私は、AWS-Windowsの展開manifest.jsonをファイルに書かれている:AWS Beanstalk WindowsインスタンスでpostInstall PowerShellスクリプトを使用する方法

{ 
 
    "manifestVersion": 1, 
 
    "iisConfig": { 
 
    "appPools": [ 
 
     { 
 
     "name": "AppPoolName", 
 
     "recycling": { 
 
      "regularTimeInterval": 10 
 
     } 
 
     } 
 
    ] 
 
    }, 
 
    "deployments": { 
 
    "msDeploy": [ 
 
     { 
 
     "name": "app", 
 
     "parameters": { 
 
      "appBundle": "App.zip", 
 
      "iisPath": "/", 
 
      "iisWebSite": "Default Web Site", 
 
      "appPool": "AppPoolName" 
 
     }, 
 
     "scripts": { 
 
      "postInstall": { 
 
      "file": "PostInstallSetup.ps1" 
 
      } 
 
     } 
 
     } 
 
    ] 
 
    } 
 
}

マイPostInstallSetup.ps1スクリプトは超簡単です、それだけ含まれています

"Hello, World!" 

まだ動作しません。私はこれらのようなメッセージを取得し、展開のログファイルに:

Info: Adding file (Default Web Site/Web.config). 
---------- Executing command "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy unrestricted -NonInteractive -NoProfile -Command "& { & \"C:\Staging\PostInstallSetup.ps1\"; exit $LastExitCode }" " ---------- 
Info: Adding file (Default Web Site/Readme.txt). 
Error during deployment: The directory name is invalid 
    at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 
    at System.Diagnostics.Process.Start() 
    at AWS.DeploymentCommands.Utilities.ExecuteCommand(String cwd, String command, String arguments, ILogger logger, Boolean throwOnError) in D:\Jenkins\jobs\aws.deploytools-build\workspace\src\AWS.DeploymentCommands\Utilities.cs:line 181 
    at AWS.DeploymentCommands.Utilities.ExecutePowerShellScript(String cwd, String script, ILogger logger) in D:\Jenkins\jobs\aws.deploytools-build\workspace\src\AWS.DeploymentCommands\Utilities.cs:line 107 
    at AWS.DeploymentCommands.Commands.BaseScriptableCommand.ExecuteScript(ScriptDeclaration script, String cwd) in D:\Jenkins\jobs\aws.deploytools-build\workspace\src\AWS.DeploymentCommands\Commands\BaseScriptableCommand.cs:line 84 
    at AWS.DeploymentCommands.Commands.DeployMSDeployPackages.DoInstall() in D:\Jenkins\jobs\aws.deploytools-build\workspace\src\AWS.DeploymentCommands\Commands\DeployMSDeployPackages.cs:line 105 
Info: Adding file (Default Web Site/WebC.Web.config). 
---------- Executing command "C:\Windows\system32\iisreset.exe /start" ---------- 

最終結果は展開が完了したことで、Webアプリケーションは動作していますが、PostInstallSetup.ps1スクリプトが実行されていません。

マニフェストファイルにエラーがありますか?または、PostInstallSetup.ps1スクリプトを別の場所に配置する必要がありますか?

私は、PostInstallSetup.ps1スクリプトを "Hello World"に縮小し、スクリプト内の問題が展開を破っていることを除外しました。

答えて

0

scripts/postInstallメソッドがmsDeployと組み合わせてうまく動作しないことが判明しました。これは.NET Coreタイプのデプロイで動作しました。回避策として、postInstallコードをそこに配置したダミーの.NET Coreパッケージを追加しました。

関連する問題