在 Azure Devops 管道中使用 'replace' 表达式

Using 'replace' expression in Azure Devops pipeline

我正在尝试基于我正在构建的 git 分支构建和标记容器映像。 ADO 有两个分支名称选项: Build.SourceBranch 例如。 refs/heads/rc/1.0.0Build.SourceBranchName 例如。 1.0.0

但是我想使用 rc1.0.0 标记我的图像,我认为这应该是可能的,首先在我的 yml 中定义一个变量使用:

variables:
  temp: ${{replace('$(Build.SourceBranch)', 'refs/heads/', '')}}
  dockertag: ${{replace('$(temp)','/','')}}

然而,当我 bash: echo '$(dockertag)' 它为主分支生成 refs/heads/master 而我期望 master 相反。

我将设置一个单独的管道来测试它,但我想我可能做错了什么?

此处介绍了替换字符串和分支中的字符:

简而言之:

variables:      
  suffix: $[replace(variables['build.sourcebranchname'], 'refs/heads/', '')]