首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变工况Azure管道

变工况Azure管道
EN

Stack Overflow用户
提问于 2021-06-30 15:11:42
回答 1查看 573关注 0票数 0

我遇到了一个问题,我试图在stage condition上执行以下逻辑

在纯文本中,它应该这样工作:

(branch is release AND var undefined) OR (branch is release AND var == sys)

在我的YAML中,我试图这样做:

代码语言:javascript
复制
  # SYS
  - stage: BuildSYS
    condition: or(and(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), eq('[variables.Env]', '')), and(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), eq('[variables.Env]', 'SYS')))
    jobs:
      - job: 
        steps:
          - script: echo Hi form SYS!

在本例中,Env是我传递到管道中的一个变量。

当我触发时,我在release/*分支上,所以我不知道我做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-01 04:49:37

在这里,'[variables.Env]'是问题所在。请把它回复到variables['Env']

所以你的情况应该是:

代码语言:javascript
复制
condition: or(and(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), eq(variables['Env'], '')), and(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), eq(variables['Env'], 'SYS')))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68197421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档