我们刚刚在本地安装了TFS 2015(Update 1),并且正在尝试使用新的TFS Build系统创建持续集成/构建系统。构建工作正常,并给我一个绿灯,但当我看到默认构建它只从bin目录构建二进制文件,似乎没有简单的方法将内部部署应用程序部署到本地服务器
文件系统副本和powershell脚本有两个部署选项,使用它们将文件复制到新服务器当然很容易,但由于构建只构建了二进制文件,所以我不会这样做。看到一个工具来收集Web工件(cshtml,图像,脚本,CSS等)。
经过详尽的谷歌搜索后,我发现只有一篇文章在此处讨论:
http://www.deliveron.com/blog/building-websites-team-foundation-build-2015/
但是,这会使用WebDeploy并创建一个相当混乱的部署包。
如何部署站点(标准MVC Web应用程序,实际上我的测试使用创建项目向导创建的默认样板站点)以最简单的方式完成本地服务器的工件?我不想在服务器上安装WebDeploy,而是宁愿使用PowerShell或其他东西来部署最终的工件。
构建只是标准的Visual Studio构建模板,有4个步骤(Build,Test,Index& Publish,Publish Build Artifacts)。
答案 0 :(得分:15)
我们使用“Visual Studio Build”步骤作为MSBuild的参数,我们使用以下行:
/p:DeployOnBuild=True /p:PublishProfile=$(DeploymentConfiguration)
在“变量”选项卡页面上,必须配置DeploymentConfiguration。它必须是发布配置文件的名称(pubxml文件的文件名)。如果文件名是Build.pubxml,则发布配置文件是Build。
例如:
/p:DeployOnBuild=True /p:PublishProfile=Build
答案 1 :(得分:7)
他的msbuild参数看起来像这样:
iframes
这个和已接受的答案之间的区别在于,此参数集会对工件文件夹中的所有内容进行分段,然后将其保存为构建的一部分。然后我们可以重复部署完全相同的代码。
我们捕获web.env.config文件和for-deploy文件夹,然后在发布过程中使用xdt转换,以确保在我们要部署到的任何环境中都能更新所有内容。它适用于我们所有的Web项目。
答案 2 :(得分:-5)
我们将WebDeploy / MSDeploy用于40多个应用程序并喜欢它。我们在所有服务器上都安装了WebDeploy,因此我们可以更轻松地部署,但您也可以使用不需要预先安装WebDeploy的Web Deploy On Demand功能。