Msbuild msdeploy.axd?site=param值从何而来?
在Azure DevOps中,我的连续部署管道无法运行msdeploy命令。构建不会抛出任何错误。这是发布部署期间的错误:Msbuild msdeploy.axd?site=param值从何而来?,msbuild,azure-devops,msdeploy,Msbuild,Azure Devops,Msdeploy,在Azure DevOps中,我的连续部署管道无法运行msdeploy命令。构建不会抛出任何错误。这是发布部署期间的错误: Error Code: ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP 是的,非常普遍,这是最常见的。但我没有设法更改该站点URL参数。 我的本地构建和本地运行的部署命令可以部署到Azure(应用程序服务:xxxx dev app)。 在本地,参数?site=没有显示并且可以工作,如果我手动修改部署脚本并添加?site=,我可以用本地运行的
Error Code: ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP
是的,非常普遍,这是最常见的。但我没有设法更改该站点URL参数。
我的本地构建和本地运行的部署命令可以部署到Azure(应用程序服务:xxxx dev app)。
在本地,参数?site=
没有显示并且可以工作,如果我手动修改部署脚本并添加?site=
,我可以用本地运行的部署脚本重现相同的错误
那么,为什么在Azure构建期间将此参数添加到Url中?它的值从何处获得
a)Myparameters.xml如下所示:
<parameters>
<parameter name="IIS Web Application Name" devaultValue="Default Web Site" />
</parameters>
<parameters>
<setParameter name="IIS Web Application Name" value="Default Web Site" />
</parameters>
附录,2019年4月20日:
删除parameters.xml和变量“IIS Web应用程序名称”后,我仍然会得到此部署输出日志行,显示它试图设置?site=xxxx dev app
参数:
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
-verb:sync
-source:package='d:\a\r1\a\xxxx CI Pipeline\xxxxToolV01\src\xxxxoolV01\xxxxoolV01\Publish\xxxxoolV01.zip'
-dest:auto,
ComputerName='https://xxxx-dev-app.scm.azurewebsites.net:443/msdeploy.axd?site=xxxx-dev-app',
UserName='$xxxx-dev-app',
Password='***',
AuthType='Basic'
-setParam:name='IIS Web Application Name',value='xxxx-dev-app'
-enableRule:AppOffline
-enableRule:DoNotDeleteRule
-userAgent:VSTS_b7d1246f-0592-4548-9a3d-da995f3fb94e_release_1_59_59_5
您是否尝试删除
参数.xml
?如果您不进行部署时配置转换,则不需要它。如果您只需要设置连接字符串和应用程序设置,那么您应该在azure web应用程序上定义它们,而不是将它们存储在web.config/appsettings.json中。如果删除parameters.xml
文件,则无需指定该值。谢谢@DanielMann的建议,我真的没有什么想法了。但是,即使在删除发布管道变量和文件parameters.xml
之后,它也会给我日志输出:错误:源代码不支持名为“IIS Web应用程序名称”的参数。
“IIS Web应用程序名称”在msdeploy命令中有点硬编码。它似乎被请求成为传递的parameters.xml的一部分。是否尝试删除parameters.xml
?如果您不进行部署时配置转换,则不需要它。如果您只需要设置连接字符串和应用程序设置,那么您应该在azure web应用程序上定义它们,而不是将它们存储在web.config/appsettings.json中。如果删除parameters.xml
文件,则无需指定该值。谢谢@DanielMann的建议,我真的没有什么想法了。但是,即使在删除发布管道变量和文件parameters.xml
之后,它也会给我日志输出:错误:源代码不支持名为“IIS Web应用程序名称”的参数。
“IIS Web应用程序名称”在msdeploy命令中有点硬编码。它似乎被请求成为传递的parameters.xml的一部分。
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
-verb:sync
-source:package='d:\a\r1\a\xxxx CI Pipeline\xxxxToolV01\src\xxxxoolV01\xxxxoolV01\Publish\xxxxoolV01.zip'
-dest:auto,
ComputerName='https://xxxx-dev-app.scm.azurewebsites.net:443/msdeploy.axd?site=xxxx-dev-app',
UserName='$xxxx-dev-app',
Password='***',
AuthType='Basic'
-setParam:name='IIS Web Application Name',value='xxxx-dev-app'
-enableRule:AppOffline
-enableRule:DoNotDeleteRule
-userAgent:VSTS_b7d1246f-0592-4548-9a3d-da995f3fb94e_release_1_59_59_5