Deployment 将网站部署到TFS生成服务器上的放置文件夹

Deployment 将网站部署到TFS生成服务器上的放置文件夹,deployment,msbuild,continuous-integration,tfsbuild,Deployment,Msbuild,Continuous Integration,Tfsbuild,我在构建服务器上使用TFS 2012进行持续集成,并为其他环境构建。我正在将包含两个网站和一个控制台应用程序的.net 4.0 webforms解决方案部署到生成服务器,并在drop文件夹中获得一个_PublishedWebsites文件夹,其中包含我指定的自定义配置(即非调试或发布)的部署包。我为每个网站获得了正确的.webu包 我正在生成过程中使用MSBuildArguments设置,如下所示: /p:DeployOnBuild=true /p:PublishProfile=Developm

我在构建服务器上使用TFS 2012进行持续集成,并为其他环境构建。我正在将包含两个网站和一个控制台应用程序的.net 4.0 webforms解决方案部署到生成服务器,并在drop文件夹中获得一个_PublishedWebsites文件夹,其中包含我指定的自定义配置(即非调试或发布)的部署包。我为每个网站获得了正确的.webu包

我正在生成过程中使用MSBuildArguments设置,如下所示:

/p:DeployOnBuild=true /p:PublishProfile=Development/p:VisualStudioVersion=10.0
一切正常,但团队负责人希望实际部署在drop文件夹中,而不是部署包中

我已经看过了,但对我的情况似乎没有帮助

我已经尝试过创建一个脚本,但我不想进入一个庞大的powershell脚本系列,我无论如何都要与powershell斗争。我就是不能让它做我想做的事

我的问题是:这能做到吗?最好的方法是什么?如果这确实意味着创建一个脚本,那么就这样吧(也许每个对象一行)——我真的很难确定我应该朝哪个方向走

我认为每个部署都包含一行脚本—3行,如下所示:

_PublishedWebsites/<project name>.Web_Package/<project name>.deploy.cmd /T: /M:<site> /U:<user> /P:<password>
\U PublishedWebsites/.Web\U Package/.deploy.cmd/T:/M:/U:/P:

但是脚本放在哪里以及如何调用?

当我使用DeployOnBuild开关运行我的构建时,我的构建输出两个文件夹,一个包含包,另一个仅包含所有网站文件(都在PublishedWebsites下)。这不是你想要的吗

我有:

BuildDrop\u发布网站\网站

BuildDrop\u PublishedWebsites\Website\u软件包


我最终使用了这篇博文中描述的解决方案:

为了得到我所需要的,我需要更改要部署的项目的项目文件——在每个.csproj文件的顶部添加这个额外的节点

<Target Name="TransformConfigFiles" AfterTargets="AfterBuild" Condition="'$(TransformConfigFiles)'=='true'">
    <ItemGroup>
      <DeleteAfterBuild Include="$(WebProjectOutputDir)\Web.*.config" />
    </ItemGroup>
    <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="$(WebProjectOutputDir)\Web.config" />
    <Delete Files="@(DeleteAfterBuild)" />
  </Target>

我已经知道了,但是该网站不包含转换后的web.config,只包含未处理的原始web.config(例如web.config、web.debug.config、web.development.config、web.test.config等)。但是,web\u包确实包含正确的web.config-是的,如果我能使web.config正确,我会有一个解决方案。@JustTFS哪一个是正确的行为,我想要什么,或者发生了什么?发生了什么,您可以部署包,或者编写一些脚本,将文件转换成问题中所述的格式,我需要在drop文件夹中转换文件。在一个完美的世界中,我会简单地部署,但我的团队领导(出于某种奇怪的原因)不信任这个过程。
/p:TransformConfigFiles=true