Eri*_*sch 16 deployment asp.net-mvc tfsbuild tfs-2015
我们刚刚在本地安装了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个步骤(构建,测试,索引和发布,发布构建工件).
Seb*_*ens 15
我们使用"Visual Studio Build"步骤作为MSBuild的参数,我们使用以下行:
/p:DeployOnBuild=True /p:PublishProfile=$(DeploymentConfiguration)
Run Code Online (Sandbox Code Playgroud)
在"变量"选项卡页面上,必须配置DeploymentConfiguration.它必须是发布配置文件的名称(pubxml文件的文件名).如果文件名是Build.pubxml,则发布配置文件是Build.
例如:
/p:DeployOnBuild=True /p:PublishProfile=Build
Run Code Online (Sandbox Code Playgroud)
我想补充一点,Ben Day有一个很好的写作,帮助我们快速打包,然后通过Release Manager发布到多个环境.
他的msbuild参数看起来像这样:
/p:DeployOnBuild=True /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl=$(build.artifactstagingdirectory)\for-deploy\website
Run Code Online (Sandbox Code Playgroud)
这个和被接受的答案之间的区别在于,此参数集将工件文件夹中的所有内容进行分段,然后将其保存为构建的一部分.然后我们可以重复部署完全相同的代码.
我们将web.env.config文件与for-deploy文件夹一起捕获,然后在发布过程中使用xdt转换,以确保在我们部署到的任何环境中都能更新所有内容.它适用于我们所有的Web项目.
| 归档时间: |
|
| 查看次数: |
12917 次 |
| 最近记录: |