我想为除master
或release
之外的任何分支运行阶段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