2016-08-23 20 views
0

自動スケーリンググループを使用してAWSコードを使用するようにビルドプロセスを設定しています。私は、コードを構築し、appspec.ymlとBeforeInstall.batファイルをすべてS3に正しく移動して圧縮しました。コード配布がzipファイルを適切にプルダウンし、解凍してBeforeInstall.batを呼び出します。バッチファイルは3アプリケーションプール Msdeployを呼び出すとAWSコードのデプロイが失敗する

  • ストップウェブサイト
  • コール時にそれが正しく、その後、ステップ1と2を介して取得しますが、
  • をwebsite.deploy.cmd停止

    1. ステップました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ウィンドウからそのユーザを呼び出す方法との違いは何ですか?

    答えて

    0

    旧バージョンのWeb Deployがインストールされていたようです。私はログを探しに行って、何とかv2をインストールしたことに気付きました(おそらくEC2インスタンスにIISをインストールしたときのデフォルト)。私は最新バージョン(この記事の執筆時点では3.6)をダウンロードしてインストールし、新しい展開を作成しました。コードは期待どおりに展開されました。

    関連する問題