根据条件跳过GitLab中YAML文件中的块

根据条件跳过GitLab中YAML文件中的块,gitlab,yaml,Gitlab,Yaml,我在GitLab有回购协议。它包含一个.gitlab-ci.yaml,而不是一个名为VERSION的变量。我在项目中的常规.yaml文件中使用此变量: 。。。 版本:${version} ... 如果提供了特定的版本,我希望省略这个YAML代码块(或者用空字符串替换) 例如 gitlab.ci-yml: 变量: 版本:7 常规YAML文件: app1: 名称:我的应用程序 版本:${version} 如果版本为8,我希望跳过常规YAML文件中的此块。我该怎么做 GitLab版本:13.12

我在GitLab有回购协议。它包含一个.gitlab-ci.yaml,而不是一个名为VERSION的变量。我在项目中的常规.yaml文件中使用此变量:

。。。
版本:${version}
...
如果提供了特定的版本,我希望省略这个YAML代码块(或者用空字符串替换)

例如 gitlab.ci-yml:

变量:
版本:7
常规YAML文件:

app1:
名称:我的应用程序
版本:${version}
如果版本为8,我希望跳过常规YAML文件中的此块。我该怎么做

GitLab版本:13.12


更新 我的YAML块
app1
还具有
enabled:true
属性。有没有一种方法可以放置一个条件语句而不是
true
?比如说,

app1:
名称:我的应用程序
已启用:#此处有一些条件语句
版本:${version}

您应该能够使用来指定希望作业运行的时间

因此,在您的特定情况下,您可以将其添加到作业中(根据需要添加缩进间距):

或者,您可以指定当它匹配时,不运行它:

rules:
  - if: '$VERSION == 8'
    when: never

但我不想逃避工作。如果版本匹配,我想跳过一段YAML文件。或者,我的YAML已经启用了
:true
字段。有没有一种方法可以将条件语句替换为
true
标志?我不确定我是否理解您所说的“一段YAML文件”是什么意思,因为添加规则会跳过该作业,例如您在示例中包含的“app1”作业。“enabled”也不是YAML参考中列出的关键字,因此我不确定它应该做什么:
rules:
  - if: '$VERSION == 8'
    when: never