6

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

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

问题是:

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

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

我们是否应该运行脚本构建任务来代替运行 dnu.exe?

这些新的 CoreCLR 构建是如何部署的?只是直接复制到远程机器上的目录?

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

提前感谢您对情况有所了解。

4

2 回答 2

6

这是我们最终做的事情:

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

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

  3. 用于执行 xUnit 测试运行器的 Powershell 脚本。我们在http://fluentbytes.com/running-xunit-test-with-asp-net-dnx-and-tfs-2015-build/上使用了这篇文章的指导

  4. 用于运行“dnu publish”的 Powershell 脚本。这将创建整个 Web 应用程序结构的目录。

  5. “Windows 文件复制”任务将 #4 中创建的目录结构部署到测试环境中的所有目标机器。

于 2015-11-21T09:19:20.327 回答
1

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

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。

于 2015-11-16T08:00:28.450 回答