msdeploy 仅跳过 web.config root
msdeploy skip only web.config root
我正在使用带有 msdeploy 的包提供程序部署一个网站,我试图只跳过 Web.config 根文件。
我有这个命令,但不幸的是它会跳过任何 Web.config 文件,而不仅仅是我想要的根 Web.config 文件。我已经阅读了这个论坛和不同网站上关于同一问题的其他帖子,但它仍然不起作用。我不明白为什么 msdeploy 使用起来如此复杂,简直太可笑了。
这是我正在使用的命令:
msdeploy -source:package='"src\Parapa.Website\obj\Test\Package\Parapa.Website.csproj.zip"'
-dest:auto,computerName='http://computer/MSDeployAgentService',username='luis',password='luis',includeAcls='False'
-verb:sync
-disableLink:AppPoolExtension
-disableLink:ContentExtension
-disableLink:CertificateExtension
-setParamFile:""src\Parapa.Website\obj\Test\Package\Parapa.Website.csproj.SetParameters.xml"" -setParam:"IIS Web Application Name"="staging-cm"
-skip:objectName=filePath,absolutePath='.*\Web.config$'
-enableRule:DoNotDelete
Info: Object filePath (C:\ProgramFiles\TeamCity\buildAgent\work\d29656a51131c443\src\Parapa.Website\obj\Test\Package\PackageTmp\Views\Web.config) skipped
Info: Object filePath (C:\ProgramFiles\TeamCity\buildAgent\work\d29656a51131c443\src\Parapa.Website\obj\Test\Package\PackageTmp\Web.config) skipped due to skip directive 'CommandLineSkipDirective 1'.
将根文件夹添加到您的 Regex 表达式中,那么它不应仅跳过 views 文件夹中的 web.config 根:
-skip:objectName=filePath,absolutePath='.*\PackageTmp\Web.config$'
补充关于 chief7 提及的内容:
-skip:objectName=filePath,absolutePath='.*\PackageTmp\Web.config$'
如果您使用 -enableRule:DoNotDelete,此命令有效,因为 web.config 将从源中跳过,但将从目标中删除。
因此,如果您不使用 -enableRule:DoNotDelete,另一种方法是在目标 web.config.
上使用 skipAction
-skip:objectName=filePath,absolutePath='{WebSiteName}\Web\.config$',skipAction=Update
用您的网站名称替换 {WebSiteName}。
例如
-skip:objectName=filePath,absolutePath='CommicsTest\Web\.config$',skipAction=Update
我正在使用带有 msdeploy 的包提供程序部署一个网站,我试图只跳过 Web.config 根文件。
我有这个命令,但不幸的是它会跳过任何 Web.config 文件,而不仅仅是我想要的根 Web.config 文件。我已经阅读了这个论坛和不同网站上关于同一问题的其他帖子,但它仍然不起作用。我不明白为什么 msdeploy 使用起来如此复杂,简直太可笑了。
这是我正在使用的命令:
msdeploy -source:package='"src\Parapa.Website\obj\Test\Package\Parapa.Website.csproj.zip"'
-dest:auto,computerName='http://computer/MSDeployAgentService',username='luis',password='luis',includeAcls='False'
-verb:sync
-disableLink:AppPoolExtension
-disableLink:ContentExtension
-disableLink:CertificateExtension
-setParamFile:""src\Parapa.Website\obj\Test\Package\Parapa.Website.csproj.SetParameters.xml"" -setParam:"IIS Web Application Name"="staging-cm"
-skip:objectName=filePath,absolutePath='.*\Web.config$'
-enableRule:DoNotDelete
Info: Object filePath (C:\ProgramFiles\TeamCity\buildAgent\work\d29656a51131c443\src\Parapa.Website\obj\Test\Package\PackageTmp\Views\Web.config) skipped
Info: Object filePath (C:\ProgramFiles\TeamCity\buildAgent\work\d29656a51131c443\src\Parapa.Website\obj\Test\Package\PackageTmp\Web.config) skipped due to skip directive 'CommandLineSkipDirective 1'.
将根文件夹添加到您的 Regex 表达式中,那么它不应仅跳过 views 文件夹中的 web.config 根:
-skip:objectName=filePath,absolutePath='.*\PackageTmp\Web.config$'
补充关于 chief7 提及的内容:
-skip:objectName=filePath,absolutePath='.*\PackageTmp\Web.config$'
如果您使用 -enableRule:DoNotDelete,此命令有效,因为 web.config 将从源中跳过,但将从目标中删除。 因此,如果您不使用 -enableRule:DoNotDelete,另一种方法是在目标 web.config.
上使用 skipAction-skip:objectName=filePath,absolutePath='{WebSiteName}\Web\.config$',skipAction=Update
用您的网站名称替换 {WebSiteName}。
例如
-skip:objectName=filePath,absolutePath='CommicsTest\Web\.config$',skipAction=Update