【问题标题】:TFS Build Definition - Deploy only files needed to run this applicationTFS 构建定义 - 仅部署运行此应用程序所需的文件
【发布时间】:2017-01-10 18:35:40
【问题描述】:

我正在为构建和部署设置 TFS 2015。我已经按预期进行了工作,但是我开始注意到在 TFS 中发布的文件看起来与我在 Visual Studio 中右键单击并发布项目时发布的文件不同(即在 VS 中我的出版物没有包含 .cs 文件等..)。

在 TFS 中我有构建步骤:

  • Visual Studio 构建

  • 复制文件(将构建文件复制到暂存目录)

  • 发布构建工件(转到文件共享位置,然后我将从中部署)

我更希望在 Build Steps 列表中看到 Web-Deploy/MSDeploy(在 Deploy 下)。

有没有人遇到过这种情况并弄清楚发生了什么?如果您需要有关我当前配置的更多详细信息,请告诉我。

谢谢

**** 编辑 ****

好的,我已经了解了更多关于我期望看到的内容,而且我似乎需要我的构建通过预编译。从我所阅读的项目来看,我目前正在从事的项目是一个 WAP,因此被预编译为每个出版物的一部分。这会将代码(.cs 文件)移动到相应的 DLL 中。

因此,我开始查看应用批处理脚本以启动 ASP.NET aspnet_compiler.exe 以执行预编译的路线 - 但我收到了与 web.config 相关的各种错误。

这开始变得相当痛苦,因为我可能认为 TFS 构建非常简单..!!毕竟是微软!

【问题讨论】:

  • 能否在问题中添加详细构建步骤Copy FIlesPublish Build Artifacts
  • 嗨帕特里克 - 我已经为上面设置的每个任务添加了屏幕截图。在进一步调查后,我还在 **** EDIT **** 下添加了更多信息。我很惊讶在 TFS 发布管理中复制“右键单击 > 发布”功能似乎如此困难......?!这么多,我觉得我一定错过了一些非常基本的东西?!

标签: tfs msbuild web-deployment msdeploy release-management


【解决方案1】:

在 vNext 构建中,使用复制文件和发布构建工件步骤发布您的构建工件。尝试使用代理上的本地路径,任何工件在被推送到目的地之前都会复制到该路径。例如:

  1. 添加 /p:DeployOnBuild=true /p:OutDir="$(build.artifactstagingdirectory)\" 可视化中的参数 Studio 构建步骤;
  2. Publish Build Artifacts 任务的“发布路径”更改为 $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectName:

【讨论】:

  • 我刚刚在那里尝试了您的示例并且正在构建失败...我猜这是因为我在解决方案级别而不是项目级别进行构建(我已将屏幕截图添加到我的原始问题我是如何设置的)。
  • 您需要在您的 msbuild 参数中添加 /p:DeployOnBuild=true /p:OutDir="$(build.artifactstagingdirectory)\\" 并且没有复制任务。因为这将直接发布您的构建工件。详细信息请查看构建步骤的屏幕截图以及 Eddie 在此答案中的答案:stackoverflow.com/questions/38979398/…
  • 成功了,感谢帕特里克!到底有多容易……!我很高兴我不需要开始弄乱 aspnet_compiler。
  • 又快了一个 Patrick... 你知道双反斜杠的原因 - 以及发布路径 - 我似乎无法找到子目录 _PublishedErbSites\ProjectName.. . 这是在上一个任务中作为 MSBuild 的一部分创建的临时文件夹吗?我现在基本上是在尝试在 Jenkins 中复制这种行为,并且在以编译格式输出文件方面并没有取得太大的成功。
  • 抱歉,这里不深究为什么使用“\\”。至于_PublisheErbSites\ProjectName 没有这个文件夹:)。如果您的意思是_PublisheWebSites\ProjectName,这是由构建代理创建的文件夹。更多详情请看这个stackoverflow.com/questions/9097057/…
猜你喜欢
  • 2014-06-06
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多