从另一个管道gitlab触发管道

时间:2020-03-02 13:32:57

标签: gitlab gitlab-api

我试图使用'$ 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)中找出任何东西。

谢谢

1 个答案:

答案 0 :(得分:1)

尝试GitLab 13.4(2020年9月)

您可以使用其他方法检查其最新功能是否会使您的用例更轻松:

子管道现在可以触发自己的子管道

使用父/子管道时,现在可以触发子管道 他们自己的子管道。当您需要灵活性时,这种增加的深度可能会很有用 生成可变数量的子管道。

在使用父/子配置之前,每个子管道都需要一个触发器 在父级中手动定义的工作。

现在,您可以动态生成子管道 触发任意数量的新子管道。例如,如果您有monorepo, 可以动态生成第一个子管道,该子管道本身会生成变量 新的子管道的数量,基于分支的更改。

https://about.gitlab.com/images/13_4/parent_child_pipeline.png -- Child pipelines can now trigger their own child pipelines

请参见DocumentationIssue