如果我使用 GitLab CI 'trigger' 关键字,我可以获取有关下游管道的信息以供该管道中的后续作业使用吗?

问题描述 投票:0回答:1

在 GitLab CI 中,如果我使用

trigger
关键字触发下游管道,我如何访问有关下游管道的信息,以便我可以将其传递给上游管道中的后续作业?

例如,假设我希望此管道中的

later-job
作业引用由
trigger-job
触发的下游管道的管道ID:

stages:
  - early-stage
  - late-stage

trigger-job:
  stage: early-stage
  trigger:
    project: my-group/my-other-project
    strategy: depend

later-job:
  stage: late-stage
  script:
    - echo "The pipeline id of the downstream pipeline triggered by trigger-job is ????????"

这可能吗?

gitlab-ci
1个回答
0
投票

据我所知,没有内置的方法可以实现这一点。

以下是您可以采取的一些想法:

  1. 触发初始管道(最原生的方式)。在项目 2 的管道末尾,对管道 1 进行另一个触发器,该触发器使用变量仅运行缺失的步骤。

  2. 使用curl代替本机触发关键字。这样您就可以接收ID并链接到新管道,例如使用 jq

  3. 尝试过滤掉触发的管道。如果您可以确定您的项目1是唯一触发项目2的项目,您可以构建一个管道作业,这将为您提供已启动项目的最新管道通过使用 Pipelines API:

    的触发器
curl -q --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.com/api/v4/projects/1/pipelines?source=trigger" | jq '.[0].id'
© www.soinside.com 2019 - 2024. All rights reserved.