【问题标题】:Count number of pipelines in a merge request in GitLab在 GitLab 中计算合并请求中的管道数
【发布时间】:2022-06-16 19:07:13
【问题描述】:

在我的.gitlab-ci.yml 中,我想为执行的每个管道提供一个增量 ID,但仅相对于合并请求(管道 ID 对我而言太大),因此第一个管道将具有 0 (或 1,取决于我如何获得这个数字),第二个是 1(或 2),等等。

我考虑过使用当时执行的 root 管道的数量(我不知道如何命名它们,我的意思是在推送、标记等上启动的管道,但不是下游的)。我指的是这个值:

我找到了使用 API 的解决方案(请参阅answer below),但我想知道是否有更好的方法(我是 GitLab CI 的新手,可能我刚刚杀死了一个用大锤飞)。

【问题讨论】:

    标签: gitlab-ci gitlab-api


    【解决方案1】:

    到目前为止,我已经能够使用 this API 从 MR 中的管道列表中检索值:

    GET /projects/:id/merge_requests/:merge_request_iid/pipeline
    

    所以,只需查询该请求的标头并解析项目总数:

    curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
      "${PROJECT_URL}/merge_requests/${CI_MERGE_REQUEST_IID}/pipelines" \
      --silent --show-error -I | awk '/^x-total:/{print $2}'
    

    但我发现这个解决方案有点过度设计。如果您知道任何更好的方法(例如 CI_ 变量),我会很高兴听到它。

    【讨论】:

      猜你喜欢
      • 2022-11-07
      • 2022-11-04
      • 2018-12-08
      • 2022-01-07
      • 1970-01-01
      • 2021-08-24
      • 2020-05-18
      • 2019-04-12
      • 2018-02-05
      相关资源
      最近更新 更多