我正在寻找一些不寻常的用例,在该用例中,我仅在推送到原始服务器/主服务器后才运行某些作业。实际上,只有在进行合并时才会发生这种情况,因此我对此的首次尝试是以下规则:
if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_COMMIT_BRANCH == "master"'
但这没有用,大概是因为实际的合并提交推送到了原始服务器/主服务器上并不被认为是merge_request_event
。
有什么方法可以实现?
注意:我不是简单地使用if: $CI_COMMIT_BRANCH == "master"'
来避免在推送到非起源分支的master
分支上运行。
答案 0 :(得分:0)
我找到了一种方法,该方法使用唯一分配的PROJECT_ID
gitlab变量(每个fork都不同)。所以下面的工作:
if: '$CI_PROJECT_ID == "<origin fork's project_id>" && $CI_COMMIT_BRANCH == "master"'
可以在gitlab的“设置”中找到项目ID。