Gitlab CI规则-仅在推送到原始/母版上运行

时间:2020-09-17 14:14:39

标签: gitlab gitlab-ci

我正在寻找一些不寻常的用例,在该用例中,我仅在推送到原始服务器/主服务器后才运行某些作业。实际上,只有在进行合并时才会发生这种情况,因此我对此的首次尝试是以下规则:

if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_COMMIT_BRANCH == "master"'

但这没有用,大概是因为实际的合并提交推送到了原始服务器/主服务器上并不被认为是merge_request_event

有什么方法可以实现?

注意:我不是简单地使用if: $CI_COMMIT_BRANCH == "master"'来避免在推送到非起源分支的master分支上运行。

1 个答案:

答案 0 :(得分:0)

我找到了一种方法,该方法使用唯一分配的PROJECT_ID gitlab变量(每个fork都不同)。所以下面的工作:

if: '$CI_PROJECT_ID == "<origin fork's project_id>" && $CI_COMMIT_BRANCH == "master"'

可以在gitlab的“设置”中找到项目ID。