自動スケーリンググループを使用してAWSコードを使用するようにビルドプロセスを設定しています。私は、コードを構築し、appspec.ymlとBeforeInstall.batファイルをすべてS3に正しく移動して圧縮しました。コード配布がzipファイルを適切にプルダウンし、解凍してBeforeInstall.batを呼び出します。バッチファイルは3アプリケーションプール Msdeployを呼び出すとAWSコードのデプロイが失敗する
をwebsite.deploy.cmd停止
- ステップました3それは場合msdeploy呼び出す段階になると、このエラーを返します:
Error: There was an error reading IIS configuration schema from 'C:\Windows\system32\inetsrv\config\schema\'
のTh権限の問題である可能性があることを確認し、サーバーの1台にログオンし、cmdスクリプトを手動で実行しました。私は管理者としてログオンしているので、驚くことではありません。私は
LocalSystem
ユーザー(これはCodeDeploy Host Agent Service
として実行されています)としてpowershellスクリプトを開き、cmdスクリプトを実行しました。それは正常に完了しました。全体のバッチファイルをLocalSystem
ユーザーとして実行しました。それはうまくいった。その後、
echo %username%
をバッチスクリプトに追加してコミットし、ビルドし、新しい展開を実行しました。私はコード展開ログWIN-49GNL2FRHJ4$
でこのユーザーを参照してください。依然として展開は失敗します。私がAdministrator
としてpowershellウィンドウからボックスでバッチスクリプトを実行すると、私はもちろんAdministrator
がエコーアウトしているのを見ます。スクリプトは成功します。LocalSystem
というバッチスクリプトをpowershellウィンドウから実行すると、CodeDeployからAWSコンソール経由で実行されたときと同様にWIN-49GNL2FRHJ4$
が表示されますが、正常に実行されます。AWSコンソールがそのバッチファイルを
LocalSystem
というユーザとして呼び出す方法と、powershellウィンドウからそのユーザを呼び出す方法との違いは何ですか?