在 Azure Devops 管道中使用 'replace' 表达式
Using 'replace' expression in Azure Devops pipeline
我正在尝试基于我正在构建的 git 分支构建和标记容器映像。
ADO 有两个分支名称选项:
Build.SourceBranch
例如。 refs/heads/rc/1.0.0
或
Build.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/', '')]
我正在尝试基于我正在构建的 git 分支构建和标记容器映像。
ADO 有两个分支名称选项:
Build.SourceBranch
例如。 refs/heads/rc/1.0.0
或
Build.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/', '')]