【发布时间】:2016-02-11 22:52:39
【问题描述】:
我们刚刚在本地安装了 TFS 2015(更新 1),并正在尝试使用新的 TFS 构建系统创建一个持续集成/构建系统。构建工作正常,给了我绿灯,但是当我查看默认构建时,它只构建了 bin 目录中的二进制文件,似乎没有简单的方法将应用程序本地部署到本地服务器.
文件系统副本和 powershell 脚本有两个部署选项,使用它们将文件复制到新服务器当然很容易,但由于构建只构建二进制文件,我看不到一个为此收集 Web 工件(cshtml、图像、脚本、css 等)的工具。
经过详尽的谷歌搜索后,我只找到了一篇讨论这个的文章:
http://www.deliveron.com/blog/building-websites-team-foundation-build-2015/
但是,这使用了 WebDeploy 并创建了一个相当混乱的部署包。
如何以最简单的方式将站点(标准 MVC Web 应用程序,实际上我的测试使用由创建项目向导创建的默认样板站点)连同工件一起部署到本地服务器?我不想在服务器上安装 WebDeploy,而宁愿使用 PowerShell 或其他东西来部署最终的工件。
构建只是标准的 Visual Studio 构建模板,有 4 个步骤(构建、测试、索引和发布、发布构建工件)。
【问题讨论】:
-
这对你来说怎么样?如果以下测试步骤失败,我正在尝试确保不会发生部署。你能做到吗?
-
@one.beat.consumer - 您应该将编译/测试从部署中拆分为两个单独的阶段,然后您可以将相同的代码部署到您的测试/qa/prod 环境中。
-
谢谢。正如您所提到的,“发布”功能正在部署软件包。我遇到的麻烦是将测试的执行与构建步骤分开,因为我为 XUnit 找到的唯一示例是对构建的自定义。我已经找到了 xunit.runner.visualstudio NuGet 包,它允许我适当地自定义测试步骤。但是,现在需要进行两次构建 - 第一次构建准备测试,第二次在测试通过时创建部署包。
标签: asp.net-mvc deployment tfsbuild tfs-2015