continuous-integration - 与使用 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关键字相比,该方法有什么优势吗?
解决方案
触发作业只能使用一组有限的 GitLab CI/CD 配置关键字。
如果您需要在触发器作业本身中执行 before_script、script、after_script 那么您需要使用 API。