相关疑难解决方法(0)

如何在带有变量组的 azure DevOps yaml 管道的变量中使用 IF ELSE?

除了变量组之外,我还尝试将 2 个值之一分配给变量,但找不到有关如何使用 IF ELSE 的参考。

基本上我需要将这个 jerkins 逻辑转换为 azure DevOps。

詹金斯

if (branch = 'master') { 
   env = 'a'
} else if (branch = 'dev'){
    env ='b'
}
Run Code Online (Sandbox Code Playgroud)

我从下一个中找到了 1 个参考,但是如果变量部分没有变量组,这个参考似乎有效。

/sf/answers/4027276851/

但是在我的管道中,我已经有一个用于秘密的变量组,所以我必须使用名称/值约定,并且该示例不适用于诸如expected a mappingorA mapping was not expected或 or 之类的错误Unexpected value 'env'

variables:
- group: my-global
- name: env
  value:
    ${{ if eq(variables['Build.SourceBranchName'], 'master') }}: 
      env: a
    ${{ if eq(variables['Build.SourceBranchName'], 'dev') }}: 
      env: b

Run Code Online (Sandbox Code Playgroud)

或者

variables:
- group: my-global
- name: env
  value: …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines azure-pipelines-yaml

31
推荐指数
5
解决办法
3万
查看次数

双花括号({{)在YAML文件中是什么意思(由Ansible使用)?

我对Ansible很新,并试图理解YAML文件.因为我不清楚这条线 - file: dest={{ '{{' }} docroot {{ '}}' }.有人可以解释一下这些花括号'{{''}}'在做什么吗?

- name: Create Web Root

    when: nginxinstalled|success

    file: dest={{ '{{' }} docroot {{ '}}' }} mode=775 state=directory owner=www-data group=www-data

  notify:

      - Reload Nginx
Run Code Online (Sandbox Code Playgroud)

ansible

13
推荐指数
2
解决办法
7711
查看次数

可以在Azure管道中完成条件变量分配吗?

Azure Pipelines具有表达式条件,但是我找不到基于条件将两个值之一分配给变量的方法。

有什么办法可以完成这个伪代码吗?

    ${{ if endsWith( variables['Build.SourceBranchName'], '/master' ) }}: 
      buildVersion: variables['mavenVersion']
    ${{ else }}: 
      buildVersion: variables['Build.SourceBranchName']
Run Code Online (Sandbox Code Playgroud)

yaml azure-devops

4
推荐指数
4
解决办法
543
查看次数