使用Microsoft MSBuild发布目标生成管道



我正在尝试创建一个Build Pipeline。我很好奇我是否能够利用现有的微软发布msbuild目标,或者我是否需要从头开始编写自己的msbuild。

我有一个大型网站项目(不是web应用程序)。

构建管道如下:

  1. 签入发生
  2. CI触发称为01 Commit Stage的构建
  3. 01 Commit Stage自动触发02 Prepare for deployment
  4. 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来构建和创建,但您可以获得新的编排和工具。

最新更新