VSTS 在使用 AppCmd "Not enough storage is available to process this command." "IIS Web App Manage"步骤上发布



在Visual Studio Team Services/VST中具有简单的两步版本定义,基于" IIS网站部署"模板设置以配置应用程序池(V4,v4,集成,应用程序池标识(和网站(HTTP,192.168.0.xxx LAN IP,端口80,有效的主机名(,它正在丢弃我努力找到任何详细信息的错误。将问题隔离到某些APPCMD参数,但似乎无法通过步骤设置删除它们。

通过VSTS代理v2.127.0部署到2008 R2目标,该目标安装了没有任何问题,但是APPCMD始终在" IIS Web应用程序管理"步骤上失败(重新配置应用程序池,创建目录等无问题等(,然后用代码8

退出

Hresult 80070008,未能提交配置更改。没有足够的存储空间来处理此命令。

下面的完整日志,但此行导致错误

" C: Windows System32 inetsrv appcmd.exe"设置site/site.name:"example-网站名称" -applicationdefaults.applicationpool:"[path ='/']。物理路径:" d: test example-网站名称" - [path ='/']。[path ='/']。用户名: - [path ='/']。路径='/']。密码:

如果我剥离空白用户名,则直接在目标上运行它会产生相同的错误。密码参数起作用。检查了我们不是试图针对网站设置身份验证设置的凭据和组合,这两个参数不会以不会丢失错误的方式删除或格式。

尝试搜索类似的问题,并且它无处可去,以防万一是一个内存问题,甚至尝试建立一个仅网站的步骤,但仍然存在错误。

##[section]Starting: Configure IIS AppPool & Website
==============================================================================
Task         : IIS Web App Manage
Description  : Create or update a Website, Web App, Virtual Directories, and Application Pool
Version      : 0.5.4
Author       : Microsoft Corporation
Help         : [More Information](https://go.microsoft.com/fwlink/?linkid=839731)
==============================================================================
##[command]"C:Windowssystem32inetsrvappcmd.exe"  list apppool /name:"Example - AppPool Name"
##[command]"C:Windowssystem32inetsrvappcmd.exe"  set apppool /apppool.name:"Example - AppPool Name" -managedRuntimeVersion:v4.0 -managedPipelineMode:Integrated -processModel.identityType:ApplicationPoolIdentity
APPPOOL object "Example - AppPool Name" changed
##[command]"C:Windowssystem32inetsrvappcmd.exe"  list site /name:"Example - Website Name"
##[command]"C:Windowssystem32inetsrvappcmd.exe"  add site /name:"Example - Website Name" /physicalPath:"D:TestExample - Website Name"
SITE object "Example - Website Name" added
APP object "Example - Website Name/" added
VDIR object "Example - Website Name/" added
##[command]"C:Windowssystem32inetsrvappcmd.exe"  set site /site.name:"Example - Website Name" -applicationDefaults.applicationPool:"Example - AppPool Name" -[path='/'].[path='/'].physicalPath:"D:TestExample - Website Name" -[path='/'].[path='/'].userName: -[path='/'].[path='/'].password:
SITE object "Example - Website Name" changed
ERROR ( hresult:80070008, message:Failed to commit configuration changes.  
Not enough storage is available to process this command.
 )
##[error]Process 'appcmd.exe' exited with code '8'.
##[section]Finishing: Configure IIS AppPool & Website

与MS开发人员支持后,我的问题似乎是目标服务器的 applicationhost.config 加密/安全密钥,而不受使用不足的使用错误消息由AppCMD

返回

验证applicationhost.config处于故障的最简单方法是备份当前配置服务 - 能够执行" IIS Web应用管理"步骤,而无需任何问题。

不幸的是,将其恢复不是一个选择,因此将两个版本散布在配置中,并在<configuration><configProtectedData><providers>

中找到了两个具有不同sessionKey值的键

从我们的清洁配置中复制了突出显示的键(AesProvider&amp; IISWASOnlyAesProvider(的版本,重新启动W3SVC服务,并且同一AppCMD线可以成功运行。

>

将继续监视,因为这仅在物理内部开发服务器上发生,并以applicationhost.config在使用服务时可能会意外更改的许多潜在方式 - 这些都不应适用于生产系统。

最新更新