我正在尝试创建一个Build Pipeline
。我很好奇我是否能够利用现有的微软发布msbuild目标,或者我是否需要从头开始编写自己的msbuild。
我有一个大型网站项目(不是web应用程序)。
构建管道如下:
- 签入发生
CI
触发称为01 Commit Stage
的构建01 Commit Stage
自动触发02 Prepare for deployment
02 Prepare for deployment
自动触发03 UAT
以下是我希望在每个阶段发生的事情:
-
01提交阶段
- 所有项目文件都已生成
- 单元测试正在运行
- 该网站通过AspNet_Compiler运行
-
02准备部署
- 使用以前生成的输出
- 然后通过AspNet_Merge.exe运行输出,将编译后的dll合并到一个单独版本的程序集中
- 将输出工件存储为可部署
-
03 UAT
- 上一步中的工件被部署到QA进行测试
我的问题是:
In the second build, how do I skip the build target and simply point the existing Microsoft publishing pipeline to the existing output? Or would I just be better building my own set of MSBuild targets to do exactly what I need?
到目前为止,我对建立自己的管道感到非常高兴,但我忍不住觉得自己错过了一些MS的好处。
如果您使用的是TFS 2013,则可以使用内置的发布管理工具来定义要部署的环境、服务器和组件。然后,您可以通过环境获得二进制升级部署的完全可跟踪性、批准和时间表。
http://www.visualstudio.com/en-us/explore/release-management-vs.aspx
然而,如果您使用的是TFS 2012,您可能需要更多的帮助,因为没有现成的发布管理工具。但是,您可以使用带有LabDefaultTemplate的基于工作流的构建系统来对环境进行部署和测试。如果你不想这样做,我建议你使用OctopusDeploy。
http://nakedalm.com/release-management-with-team-foundation-server-2012/
如果你在TFS 2005/2008,那么你就陷入了困境。唯一的支持是使用MSBuild的痛苦来进行部署或使用第三方工具。老实说,在这个位置上,由于产品的年龄,我建议升级到2012年,然后升级到2013年。使用最新的工具。。。您仍然可以使用VS.old来构建和创建,但您可以获得新的编排和工具。