首页 > 解决方案 > 与使用 trigger 关键字相比,Gitlab-CI api 触发器有什么优势吗?

问题描述

在 11.8 中,Gitlab CI 引入了trigger 关键字来触发另一个项目中的管道。

staging:
  stage: deploy
  trigger:
    project: my/deployment
    branch: stable

在此之前,触发另一个管道的传统方式是使用 api 发出 post 请求

build_docs:
  stage: deploy
  script:
  - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline
  only:
  - tags

是否有任何理由继续使用触发多项目管道的旧 api 方法?trigger与 newer关键字相比,该方法有什么优势吗?

标签: continuous-integrationgitlabgitlab-ci

解决方案


触发作业只能使用一组有限的 GitLab CI/CD 配置关键字。

https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html#trigger-job-configuration-keywords

如果您需要在触发器作业本身中执行 before_script、script、after_script 那么您需要使用 API。


推荐阅读