我使用MSBuild在CruiseControl服务器上创建Web部署包以部署我们的Web应用程序。在部署时,我们的服务器上将删除不在包中的所有内容。
我尝试将选项SkipExtraFilesOnServer选项设置为true。但Web Deploy
会忽略它<Target Name="CreateDeploymentPackage">
<MSBuild Projects="$(Web)" Targets="Package"
properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=False;
DeployTarget=Package;
SkipExtraFilesOnServer=True;
MSDeployUseChecksum=True;
PackageLocation=$(DeployDirectory)\_PublishedWebsites\DeployPackage\$(CurrentProject).zip;
PackageAsSingleFile=True;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
</Target>
为什么这不起作用?我发现的每一份文件都说应该。
答案 0 :(得分:4)
我没有100%关注你,但我想我明白这里发生了什么。以下是我对你情况的了解。
您已将构建服务器配置为执行以下操作。
SkipExtraFilesOnServer=true
您可能遇到的问题是包发布到服务器的时间。传递SkipExtraFilesOnServer=true
转换为msdeploy选项-enableRule:DoNotDeleteRule
时。在您的案例中将发布到软件包时应用(和相关)。现在,您需要确保在将包发布到服务器时设置该选项。无论如何,该选项都没有嵌入包中。