Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 调用Msdeploy时AWS代码部署失败_Amazon Web Services_Iis 8_Msdeploy_Aws Code Deploy - Fatal编程技术网

Amazon web services 调用Msdeploy时AWS代码部署失败

Amazon web services 调用Msdeploy时AWS代码部署失败,amazon-web-services,iis-8,msdeploy,aws-code-deploy,Amazon Web Services,Iis 8,Msdeploy,Aws Code Deploy,我正在建立我们的构建过程,以利用自动缩放组的AWS代码部署。我已经成功地使用appspec.yml和BeforeInstall.bat文件构建并压缩了代码,所有这些文件都正确地升级到了S3。CodeDeploy正确地拉下zip文件,解压缩它并调用BeforeInstall.bat。批处理文件有3个步骤 停止应用程序池 停止网站 请致电website.deploy.cmd 它正确地完成了步骤1和2,但当它完成步骤3时,它调用msdeploy并返回以下错误: 错误:从'C:\Windows\syst

我正在建立我们的构建过程,以利用自动缩放组的AWS代码部署。我已经成功地使用appspec.yml和BeforeInstall.bat文件构建并压缩了代码,所有这些文件都正确地升级到了S3。CodeDeploy正确地拉下zip文件,解压缩它并调用BeforeInstall.bat。批处理文件有3个步骤

  • 停止应用程序池
  • 停止网站
  • 请致电website.deploy.cmd
  • 它正确地完成了步骤1和2,但当它完成步骤3时,它调用msdeploy并返回以下错误:

    错误:从'C:\Windows\system32\inetsrv\config\schema\'读取IIS配置架构时出错。

    考虑到这可能是权限问题,我登录到其中一台服务器并手动运行cmd脚本。它部署得很好,这并不奇怪,因为我是以管理员身份登录的。然后,我以
    LocalSystem
    用户的身份打开了一个powershell脚本(这是
    CodeDeploy Host Agent服务运行的身份),并运行了cmd脚本。它成功地完成了。我以
    LocalSystem
    用户的身份运行了整个批处理文件。它成功地运行了

    然后我返回并将
    echo%username%
    添加到批处理脚本中,提交、构建并运行新部署。我在代码部署日志中看到这个用户
    WIN-49GNL2FRHJ4$
    。部署仍然失败。当我以
    Administrator
    的身份从powershell窗口在该框上运行批处理脚本时,我当然会看到
    Administrator
    发出回声。脚本成功了。当我从powershell窗口以
    LocalSystem
    的形式运行批处理脚本时,我会看到
    WIN-49GNL2FRHJ4$
    ,就像通过AWS控制台从CodeDeploy运行批处理脚本一样,但它成功运行


    AWS控制台如何将批处理文件称为
    LocalSystem
    用户与我如何通过powershell窗口将其称为该用户之间有什么不同?

    看起来问题在于安装了旧版本的Web Deploy。我去寻找日志,意识到我不知怎么安装了v2(可能是在EC2实例上安装IIS时的默认版本)。我下载并安装了最新版本(撰写本文时为V3.6),并创建了一个新的部署。代码按预期部署。

    看起来问题在于安装了旧版本的Web Deploy。我去寻找日志,意识到我不知怎么安装了v2(可能是在EC2实例上安装IIS时的默认版本)。我下载并安装了最新版本(撰写本文时为V3.6),并创建了一个新的部署。代码按预期部署