我应该在MSBuild或TFS / Azure DevOps Build管道中放置自定义的构建步骤吗?

时间:2019-04-30 12:35:51

标签: tfs build msbuild azure-devops-server-2019

是否不赞成使用MSBuild而是使用TFS / Azure DevOps Build管道?我需要添加一些自定义构建步骤,例如使代码模糊和计算文件哈希。我不确定是否应该将它们添加为MSBuild / csproj文件中的自定义目标,还是应该将它们作为构建管道中的单独步骤。 Microsoft是否提供了有关使用哪个指南的信息和/或.NET社区是否使用了常见的最佳做法?

在MSBuild中执行自定义生成步骤与在生成管道步骤中进行利弊是什么?

1 个答案:

答案 0 :(得分:1)

不,它不被弃用。构建管道只是荣耀的任务运行者。所有这些管道所要做的就是运行您的MSBuild脚本。他们实际上并没有以与MSBuild一样的方式来“构建”任何东西。

也就是说,在某些情况下,有必要向MSBuild文件添加其他构建目标和条件:

  1. 这需要在本地发展中发生
  2. 它需要在多种CI解决方案中发生(即Jenkins,TeamCity,Azure DevOps)
  3. 您预见将来会切换到其他CI解决方案

那应该使MSBuild的优点显而易见。它可以在您构建应用程序的任何地方(包括在本地桌面上)工作,并且可以移植。它还具有被版本控制自动跟踪的优势,除非您使用的是YAML构建,否则Azure DevOps构建不是