Azure DevOps Build Pipeline:如何仅为更改的程序集增加程序集版本?

Posted

技术标签:

【中文标题】Azure DevOps Build Pipeline:如何仅为更改的程序集增加程序集版本?【英文标题】:Azure DevOps Build Pipeline: How can I increment the assembly version only for the changed assemblies? 【发布时间】:2020-05-23 11:47:20 【问题描述】:

我在 Azure DevOps 中有一个构建管道,我想随着项目中的每次更改而增加我的程序集版本。在当前构建定义中,程序集的版本将随着所有项目/程序集的每次构建而增加。

因此,当我将 dev 分支合并到主分支(反向集成)时,触发器会在代理上运行构建,它将增加主分支中所有项目的版本号。

项目类型

项目类型为.NET Framework、.NET Core、.NET Standard

有没有办法只为更改的项目/程序集增加版本号?

【问题讨论】:

通常对于需要独立版本的东西,我会给他们自己的构建。然后有一个单独的管道将它们全部收集到一个“发布”中。版本号通常是传递给构建的环境变量。因此,在任何情况下,您都需要在同一管道中构建具有不同参数的不同项目,或者停止使用管道版本号,而是让每个项目计算/确定它自己的版本。 你是如何设置更新版本号的? 目前我们仍然在每次合并时手动更新版本号 @CeceDong-MSFT 是的,我在项目中查找更改的文件,对于这些项目,我增加版本号并将其合并到主分支。我不想更改所有项目的版本号,只更改已更改的项目。有没有办法在微软团队基础服务器的构建管道中自动执行此操作? 【参考方案1】:

不幸的是,没有默认方法可以仅为更改的项目增加程序集版本。您可以尝试@MartinSGill 的解决方法,对于需要独立版本的情况,您可以给他们自己的版本。然后有一个单独的管道将它们全部收集到一个“发布”中。

这是一个有用的扩展供您参考:

https://marketplace.visualstudio.com/items?itemName=bleddynrichards.Assembly-Info-Task

【讨论】:

以上是关于Azure DevOps Build Pipeline:如何仅为更改的程序集增加程序集版本?的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps devenv.com /Build 创建窗口句柄时出错

Azure DevOps Build 出现错误:找不到程序集“System.ComponentModel.Annotations”

docker 执行 docker system prune 导致Azure Devops build镜像失败

提取 Databricks 集群依赖项并将它们添加到 build.sbt 以在 Azure DevOps 中构建 jar

Azure DevOps Build Pipeline:如何仅为更改的程序集增加程序集版本?

Microsoft.NET.Sdk.CrossTargeting.targets 上的 Visual Studio Build in Azure DevOps 管道错误