You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何重新触发GitLab中已成功执行的子流水线?

重新触发GitLab已成功的子流水线的方法

GitLab默认没有为已成功的子流水线提供直接的重试按钮,但可以通过以下几种变通方案实现重新触发:

  • 手动触发子流水线的触发作业
    找到父流水线中负责触发子流水线的那个作业(通常是用trigger关键字定义的作业),进入该作业的详情页面,点击右上角的Run pipeline按钮,即可手动重新触发对应的子流水线。操作时注意保持分支、变量等参数与原执行一致,确保结果符合预期。

  • 通过GitLab API重新触发
    使用GitLab的Jobs API重新执行子流水线的触发作业,进而启动子流水线。示例curl命令如下(需替换占位符为实际值):

    curl --request POST --header "PRIVATE-TOKEN: <你的个人访问令牌>" "https://你的GitLab地址/api/v4/projects/<项目ID>/jobs/<触发作业ID>/play"
    

    个人访问令牌需要具备api权限,这种方式适合自动化脚本集成场景。

  • 修改父流水线配置,添加手动触发开关
    在父流水线的trigger作业配置中添加when: manual,让该作业始终保留手动触发选项,即使子流水线之前已成功执行。示例配置:

    trigger_child_pipeline:
      stage: deploy
      trigger:
        include: child-pipeline.yml
      when: manual
    

    配置后,父流水线的作业列表中该触发作业会一直显示"Play"按钮,随时可以手动触发子流水线。

  • 重新运行整个父流水线(可选)
    如果父流水线的其他作业执行成本较低,且重新运行父流水线会自动触发子流水线,可以直接重试整个父流水线。但这种方式会重新执行父流水线的所有作业,需根据实际场景判断是否适用。

注意:操作时需要确保你拥有对应项目的开发者及以上权限,API调用的个人访问令牌需正确配置权限。

内容的提问来源于stack exchange,提问作者Ajinkya Dandvate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:01:15