【发布时间】:2020-06-14 19:31:01
【问题描述】:
我正在尝试使用“$CI_JOB_TOKEN”(https://docs.gitlab.com/ee/ci/triggers/README.html#when-used-with-multi-project-pipelines) 从另一个管道触发管道。第二个管道被触发,但它始终在执行第二个管道的构建阶段。这意味着它只执行那些带有“除外:-触发器”的作业。我想用'only:-triggers'执行作业
trigger-child-pipeline:
stage: trigger-child-pipeline
only:
- triggers
tags:
- runner
script:
- curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=my_branch https://gitlab.mycompany.com/api/v4/projects/1234/trigger/pipeline
我想在子管道中执行带有“仅触发器”标记的作业。我错过了什么吗?我无法从文档中找出任何东西(https://docs.gitlab.com/ee/ci/triggers/README.html#when-used-with-multi-project-pipelines)。
谢谢
【问题讨论】:
-
你能分享
child-pipelineyaml吗?only: -triggers应该在子管道配置中,而不是在父管道中。 -
是的,我在子管道中有带有“仅:触发器”的作业,这些作业没有被触发,而不是带有“除外:触发器”的作业被触发。
-
共享父子作业配置。
except: triggers的作业在使用触发器启动时运行是没有意义的。 -
当我直接触发此子管道时,它会按预期工作 - 正在触发具有“仅:触发器”的作业
-
事实上如果我用相同的代码触发子管道' - curl --request POST --form "token=
" --form "ref=my_branch" @987654323 @,使用触发令牌它按预期工作。 '
标签: gitlab gitlab-api