Azure devops VSTS构建-基于SourceBranchName的条件变量
我想根据哪个分支启动构建来设置不同的构建编号 例如:Azure devops VSTS构建-基于SourceBranchName的条件变量,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我想根据哪个分支启动构建来设置不同的构建编号 例如: 推到“Dev”分支,内部版本号为3.x.x 推到“Beta”分支,版本号为2.x.x 推到“活动”分支,构建编号为1.x.x 由于需要将分支名称转换为数字,因此没有任何方法可以直接执行此操作 我可以想到两个变通办法: 为三个分支创建三个生成定义,以便 可以为它们配置不同的内部版本号格式 如果只有一个生成定义,请在生成定义中添加一个powershell脚本任务,以获取源分支名称,然后根据该名称更新生成编号 PowerShell脚本: $bra
- 推到“Dev”分支,内部版本号为3.x.x
- 推到“Beta”分支,版本号为2.x.x
- 推到“活动”分支,构建编号为1.x.x
- 为三个分支创建三个生成定义,以便 可以为它们配置不同的内部版本号格式
- 如果只有一个生成定义,请在生成定义中添加一个powershell脚本任务,以获取源分支名称,然后根据该名称更新生成编号李>
PowerShell脚本:
$branch = $Env:Build_SourceBranchName Write-Host "Current branch is $branch" if ($branch -eq "Dev") { $NewBuildNumber = "3" + ".X.Y.Z" Write-Host "Update Build Number To: $NewBuildNumber" Write-Host "##vso[build.updatebuildnumber]$NewBuildNumber" } elseif ($branch -eq "Beta") { $NewBuildNumber = "2" + ".X.Y.Z" Write-Host "Update Build Number To: $NewBuildNumber" Write-Host "##vso[build.updatebuildnumber]$NewBuildNumber" } elseif ($branch -eq "Live") { $NewBuildNumber = "1" + ".X.Y.Z" Write-Host "Update Build Number To: $NewBuildNumber" Write-Host "##vso[build.updatebuildnumber]$NewBuildNumber" }
由于需要将分支名称转换为数字,因此没有任何方法可以直接执行此操作 我可以想到两个变通办法: - 为三个分支创建三个生成定义,以便 可以为它们配置不同的内部版本号格式
- 如果只有一个生成定义,请在生成定义中添加一个powershell脚本任务,以获取源分支名称,然后根据该名称更新生成编号李>
PowerShell脚本:
$branch = $Env:Build_SourceBranchName Write-Host "Current branch is $branch" if ($branch -eq "Dev") { $NewBuildNumber = "3" + ".X.Y.Z" Write-Host "Update Build Number To: $NewBuildNumber" Write-Host "##vso[build.updatebuildnumber]$NewBuildNumber" } elseif ($branch -eq "Beta") { $NewBuildNumber = "2" + ".X.Y.Z" Write-Host "Update Build Number To: $NewBuildNumber" Write-Host "##vso[build.updatebuildnumber]$NewBuildNumber" } elseif ($branch -eq "Live") { $NewBuildNumber = "1" + ".X.Y.Z" Write-Host "Update Build Number To: $NewBuildNumber" Write-Host "##vso[build.updatebuildnumber]$NewBuildNumber" }
很好,跟我想要的差不多;)现在使用Yaml定义是否可以做得有所不同?很好,与我所追求的差不多;)现在使用Yaml定义是否可以进行不同的操作?
- 由于需要将分支名称转换为数字,因此没有任何方法可以直接执行此操作
我可以想到两个变通办法: