Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 为Visual Studio Team Services中的功能分支的生成编号附加后缀_Azure Devops - Fatal编程技术网

Azure devops 为Visual Studio Team Services中的功能分支的生成编号附加后缀

Azure devops 为Visual Studio Team Services中的功能分支的生成编号附加后缀,azure-devops,Azure Devops,我们使用以下内部版本号格式对内部版本进行版本设置: 1.0$(修订版:.r) 通过这种方式,我们可以手动更改主版本和次版本,但保持补丁版本递增: 1.0.1 1.0.2 ... 但是,我们希望在构建编号格式中附加一个后缀,这样,如果您将来自非主分支(例如功能分支、测试、修补程序)的构建排队,那么您将获得一个后缀(例如-beta,-rc,-preview)。因此,我们可以进行以下构建: 1.0.3 1.0.4-rc 1.0.5 ... 通过这种方式,我们可以很容易地从版本号中读取不是来自mas

我们使用以下内部版本号格式对内部版本进行版本设置:

1.0$(修订版:.r)

通过这种方式,我们可以手动更改主版本和次版本,但保持补丁版本递增:

1.0.1
1.0.2
...
但是,我们希望在构建编号格式中附加一个后缀,这样,如果您将来自非主分支(例如功能分支、测试、修补程序)的构建排队,那么您将获得一个后缀(例如
-beta
-rc
-preview
)。因此,我们可以进行以下构建:

1.0.3
1.0.4-rc
1.0.5
...
通过这种方式,我们可以很容易地从版本号中读取不是来自master的内容,并且在部署此版本时应小心


如果
$(SourceBranchName)
不是空的,是否可以用内部版本号格式编写表达式,以使字符串加后缀?

您可以使用GitVersion来执行此操作。从市场上安装它:

看看语义版本控制是如何工作的

你可以学到更多

这是一个很好的工具,可以对构建进行版本设置。

您可以以构建编号格式追加
$(SourceBranchName)
,但不能通过构建编号格式直接将其他内容追加到
$(SourceBranchName)
,换句话说,构建编号格式中没有可用的条件

请参考以下步骤执行此操作:

添加PowerShell任务(内联脚本):


自动包版本控制更改为为NuGet pack或dotnet pack任务使用环境变量,并在环境变量输入框中指定packageVersion

这是一个很好的建议!但是,这不会影响我在VST中看到的内部版本号。当我们使用“Releases”时,“Release name format”也将包括内部版本号。因此,我无法在“发布”中看到某个东西是否最初是从一个实验性的特性分支生成的。这是一个很好的建议!但是,这不会影响我在VST中看到的内部版本号。当我们使用“Releases”时,“Release name format”也将包括内部版本号。因此,在“Releases”中,我看不出某些东西是否最初是由实验功能分支生成的。@mbp也只需通过日志命令更新版本号(
Write Host“##vso[build.updatebuildnumber]$v”
)检查答案的更新。我必须补充的是,我不仅对更改工件版本号感兴趣,但是构建上的实际构建编号。当我们使用“Releases”时,“Release name format”也将包括内部版本号。因此,我无法在“发布”中看到某个东西是否最初是从一个实验性的特性分支中生成的。
$v=$env:BUILD_BUILDNUMBER
if($env:BUILD_SOURCEBRANCHNAME -ne "master")
{
   $v="$v-rc"
}
Write-Host $v
Write-Host "##vso[task.setvariable variable=packageVersion;]$v"
Write-Host "##vso[build.updatebuildnumber]$v"