GitLab CI - 将变量传递到 $CI_COMMIT_MESSAGE

问题描述 投票:0回答:1

我能够从硬编码的提交消息触发我的管道,例如:

规则:

  • if: ‘$CI_COMMIT_MESSAGE =~ /一些提交消息/’

但是我想使用项目级别变量(设置> CI>变量)作为提交消息,例如

规则:

  • 如果:'$CI_COMMIT_MESSAGE =~ /$RELEASE_ID/'

尽管文件上的提交消息与变量匹配,但这并不会启动管道。也不执行以下操作:

- if: ‘$CI_COMMIT_MESSAGE =~ /{$RELEASE_ID}/’
- if: '$CI_COMMIT_MESSAGE =~ /"$RELEASE_ID"/' 
- if: '$CI_COMMIT_MESSAGE == $RELEASE_ID'
- if: '$CI_COMMIT_MESSAGE == "$RELEASE_ID"'

这可行吗?

- if: ‘$CI_COMMIT_MESSAGE =~ /{$RELEASE_ID}/’
- if: '$CI_COMMIT_MESSAGE =~ /"$RELEASE_ID"/' 
- if: '$CI_COMMIT_MESSAGE == $RELEASE_ID'
- if: '$CI_COMMIT_MESSAGE == "$RELEASE_ID"'

...此后我尝试了 Egor 的建议,将 exp 放入变量本身。所以我将 /1.0.1/ 添加到我的变量中。仅当我在提交中指定 1.0.1 而没有其他任何内容时,此操作才有效 - 如果提交包含其他文本,则此操作不起作用。我已经尝试过 /1.0.1/gi 但仍然不走运。

variables gitlab gitlab-ci
1个回答
0
投票

可以将正则表达式存储在变量中。因此,在您的情况下,您可以在“设置”中将 RELEASE_ID

 变量设置为值 
/0.0.9/
,然后在 
gitlab-ci
 文件中使用此变量:

rules: - if: $CI_COMMIT_MESSAGE =~ $RELEASE_ID
    
© www.soinside.com 2019 - 2024. All rights reserved.