ASP.NET 5 (vNext) 通过 TFS 2015 部署

ASP.NET 5 (vNext) Deployment via TFS 2015

我们正在尝试通过新的工具链来构建 ASP.NET 5 (vNext) CoreCLR 网站并将其部署到服务器集群。在新的编译更改和对 TFS 的更改之间,我不确定现在一切都是如何构建和部署的。场景如下:

  1. 用于源代码控制和构建代理的本地 TFS
  2. 目标 ASP.NET 5 在 CoreCLR 下,通过 IIS 托管

问题是:

使用 TFS 进行持续集成构建(并希望部署到本地 IIS 服务器),如何构建和部署这种新的应用程序类型?

似乎 MSBuild 仍可用于指向 .sln 文件以间接调用 dnu.exe,对吗?现在这样做合适吗?

我们是否应该 运行 将脚本构建任务改为 运行 dnu.exe?

如何部署这些新的 CoreCLR 版本?只是直接复制到远程计算机上的目录?

这是一个新的应用程序,我们使用的是多层应用程序架构,其中 DAL 和业务逻辑在它们自己的 CoreCLR 项目中,如果这会有所不同的话。

提前感谢您说明情况。

要通过 TFS2015 vNext 构建系统构建和部署 ASP.NET5,您需要:

1).创建一个 PowerShell 脚本(例如名为 Prebuild.ps1)来安装 DNX。可以找到 PowerShell 脚本的详细信息:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5。将脚本文件添加到 TFS 版本控制中。

2).将 PowerShell 脚本构建步骤添加到构建定义中。 运行 Prebuild.ps1 这一步中的脚本:

3).在MSBuild步骤中,指定需要构建的项目,添加如下内容 /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=InProc /p:MsDeployServiceUrl=localhost /p: DeployIisAppPath="Default Web Site/TFSTest1" /p:VisualStudioVersion=14.0 将项目发布到 IIS。

这是我们最后做的事情:

  1. Powershell 脚本 "prebuild.ps1" 根据之前的回答和 Microsoft 部署指南:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5

  2. 香草 MSBuild 构建。没有开关或特殊设置。

  3. 用于执行 xUnit 测试的 Powershell 脚本 运行ner。我们在 http://fluentbytes.com/running-xunit-test-with-asp-net-dnx-and-tfs-2015-build/

  4. 使用了 post 中的指南
  5. Powershell 脚本到 运行 "dnu publish"。这将创建整个 Web 应用程序结构的目录。

  6. "Windows File Copy" 任务将#4 中创建的目录结构部署到测试环境中的所有目标机器。