如何解决如何使用 Gitlab API 在特定运行器上触发下游管道?
我正在尝试使用 Gitlab API 在我的管道中触发另一个下游管道,因为这些项目是私有的。
我最初能够触发它,但是当下游管道启动时我一直遇到问题,因为它似乎一直在其他一些随机运行器上运行。
我尝试了以下方法:
run_downstream_pipeline:
stage: trigger_project_b_pipeline
script:
- 'curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=staging \
--form "variables[CI_RUNNER_TAGS]=my_runner_tag" \
"https://gitlab.example.com/api/v4/projects/9/trigger/pipeline"'
...或将其添加为 -tag:
run_downstream_pipeline:
stage: trigger_project_b_pipeline
tags:
- my_runner_tag
script:
- 'curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=staging \
"https://gitlab.example.com/api/v4/projects/9/trigger/pipeline"'
...或将其作为 url 中的 ref 放入:
run_downstream_pipeline:
stage: trigger_project_b_pipeline
script:
- 'curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=staging \
"https://gitlab.example.com/api/v4/projects/9/ref/my_runner_tag/trigger/pipeline"'
第一种和第三种方法在错误的运行器上成功启动了下游管道,但第二种方法似乎根本不起作用。
希望得到任何建议。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。