Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 通过TFS 2015部署ASP.NET 5(vNext)_Msbuild_Asp.net Core_Asp.net Core Mvc_Tfs 2015_Dnu - Fatal编程技术网

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

Msbuild 通过TFS 2015部署ASP.NET 5(vNext),msbuild,asp.net-core,asp.net-core-mvc,tfs-2015,dnu,Msbuild,Asp.net Core,Asp.net Core Mvc,Tfs 2015,Dnu,我们正在尝试通过新的工具链构建ASP.NET5(vNext)CoreCLR网站并将其部署到服务器集群。在新的编译更改和对TFS的更改之间,我不确定现在如何构建和部署所有内容。情况如下: 用于源代码管理和生成代理的本地TFS 以CoreCLR下的ASP.NET 5为目标,通过IIS托管 问题是: 使用TFS进行持续集成构建(并希望部署到本地IIS服务器),如何构建和部署这种新的应用程序类型 MSBuild似乎仍然可以指向.sln文件,以便间接调用dnu.exe,对吗?现在这样做合适吗 我们是否应该

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

  • 用于源代码管理和生成代理的本地TFS
  • 以CoreCLR下的ASP.NET 5为目标,通过IIS托管
  • 问题是:

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

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

    我们是否应该运行脚本化的生成任务,而不是运行dnu.exe

    这些新的CORECRL构建是如何部署的?只是直接拷贝到远程机器上的目录

    这是一个新的应用程序,我们正在使用一个多层应用程序体系结构,其中DAL和业务逻辑位于它们自己的CoreCLR项目中,如果这有区别的话


    提前感谢您提供了一些情况说明。

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

    1) 。创建PowerShell脚本(例如名为Prebuild.ps1)以安装DNX。可以找到PowerShell脚本的详细信息:。将脚本文件添加到TFS版本控制中

    2) 。将PowerShell脚本生成步骤添加到生成定义中。在此步骤中运行Prebuild.ps1脚本:


    3) 。在MSBuild步骤中,指定需要生成的项目,并添加以下/p:DeployOnBuild=True/p:DeployTarget=MSDeployPublish/p:CreatePackageOnPublish=True/p:MSDeployPublishMethod=InProc/p:MsDeployServiceUrl=localhost/p:DeployiisAppath=“默认网站/TFSTest1”/p:VisualStudioVersion=14.0以将项目发布到IIS。

    以下是我们最终要做的事情:

  • Powershell脚本“prebuild.ps1”符合前面的答案和Microsoft部署指南:

  • 普通MSBuild构建。没有开关或特殊设置

  • 用于执行xUnit测试运行程序的Powershell脚本。我们在网站上使用了这篇文章的指导

  • 运行“dnu发布”的Powershell脚本。这将创建整个web应用程序结构的目录

  • “Windows文件复制”任务将在#4中创建的目录结构部署到测试环境中的所有目标计算机


  • 很抱歉,使用msbuild部署是错误的。必须有一个msdeploy步骤,它接受相同的升级二进制文件集并将它们推送到目标。是否使用parameters.xml或powershell来完成配置是学术性的。目前,独立的TFS vNext不适合进行适当的发布管理,需要一些额外的部分,如Octopus Deploy。+1,完全同意,我甚至要补充,TFS不是(cl)打算进入发布管理空间,也不应该是(ab)这样使用。在这一点上,与CI构建系统的发布过程相关的插销在任何情况下都会成为一场噩梦,而不是一个简单直接的环境设置。这是像Octopus Deploy这样的工具发挥作用的地方。