Gitlab Ci:为除a或B之外的任何分支执行阶段



我想为除masterrelease之外的任何分支运行阶段publish_snapshot_rpm。管道成功运行,但未执行阶段publish_snapshot_rpm。我错过了什么?我的gitlab-ci文件的部分:

.publish:
stage: publish
tags:
- dev
dependencies:
- build
publish_snapshot_rpm:
extends: .publish
only:
#    for any branch except master or release
- (?!(master|release)b)bw+
script:
- some script here

您可以通过使用rules关键字的强大功能轻松实现这一点。

rules:
- if: $CI_COMMIT_BRANCH == master
when: never
- if: $CI_COMMIT_BRANCH =~ /^release/
when: never
- when: on_success

使用except:的一种更简单的方法

.publish:
stage: publish
tags:
- dev
dependencies:
- build
publish_snapshot_rpm:
extends: .publish
except:
- master
- release
script:
- some script here

相关内容

最新更新