3

我在团队城市中有以下命令行参数进行部署。一切正常,但我想在部署时跳过一些目录。我如何在团队城市的 msbuild 脚本中添加该逻辑

/P:Configuration=%env.Configuration%
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl=https://%env.TargetServer%/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True
/P:SkipExtraFilesOnServer=True
/P:UserName=xxxxx
/P:Password=xxxxx
4

3 回答 3

7

我也在做同样的事情。我不喜欢修改我的 .csproj 文件,所以我尝试了这个。到目前为止,它对我有用。就我而言,我从部署中排除了媒体、App_Data\Logs 和 App_Data\preview 文件夹,而不是 Data 文件夹。

基本上,您可以将 ExcludeFoldersFromDeployment 作为参数传递给 MSBuild。将其与 SkipExtraFilesOnServer 相结合就可以解决问题。

/p:Configuration=Debug
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=OurDevWebServer/msdeployagentservice
/p:AllowUntrustedCertificate=True
/p:MSDeployPublishMethod=RemoteAgent
/p:CreatePackageOnPublish=True
/p:DeployIisAppPath=umbraco_TestSite
/p:IgnoreDeployManagedRuntimeVersion=True
/p:SkipExtraFilesOnServer=True
/p:ExcludeFoldersFromDeployment="media;App_Data\Logs;App_Data\preview"
/p:IncludeSetAclProviderOnDestination=False
/p:AuthType=NTML /p:UserName=
于 2014-04-07T19:25:37.367 回答
1

您不能通过命令行指定 WPP 跳过规则,因为它们被声明为项目,而不是属性。

以下是在pubxml(or wpp.targets) 中声明跳过规则的语法:

<ItemGroup>
  <MsDeploySkipRules Include="SkipErrorLogFolder1"> 
    <SkipAction>Delete</SkipAction> 
    <ObjectName>filePath</ObjectName> 
    <AbsolutePath>ErrorLog</AbsolutePath> 
  </MsDeploySkipRules> 
</ItemGroup>
于 2012-10-21T00:37:50.993 回答
1

实际上我已经在我的项目中实现了如下:

<ItemGroup>
        <MsDeploySkipRules Include="SkipDeleteApp_Data_Import">
            <SkipAction></SkipAction>
            <ObjectName>dirPath</ObjectName>
            <AbsolutePath>$(_Escaped_WPPAllFilesInSingleFolder)\\App_Data\\Import</AbsolutePath>
        </MsDeploySkipRules>
    </ItemGroup>
    <ItemGroup>
        <MsDeploySkipRules Include="SkipDeleteApp_Data_File">
            <SkipAction></SkipAction>
            <ObjectName>filePath</ObjectName>
            <AbsolutePath>$(_Escaped_WPPAllFilesInSingleFolder)\\App_Data\\en-US-custom.txt</AbsolutePath>
        </MsDeploySkipRules>
    </ItemGroup>
于 2013-04-17T06:09:50.993 回答