gpt4 book ai didi

GitLab:多项目管道中的作业工件

转载 作者:行者123 更新时间:2023-12-04 17:28:46 45 4
gpt4 key购买 nike

一段时间以来,我一直在尝试学习多项目管道,除了 GitLab 文档外,我还没有找到任何学习资料。如果我能看到一个例子,那真的很有帮助。我一直在为项目 A 中的多项目管道使用以下 ci 配置,但它不起作用:

trigger_job:
stage: trigger_release
trigger:
project: https://<gitlab-site>/api/v4/projects/<project-B-id>/trigger/pipeline
branch: master
strategy: depend

这会使项目 A 中的管道永远处于挂起状态。我通过以下方式使用 curl 最终使配置正常工作:

trigger_job:
stage: trigger_release
script:
- curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://<gitlab-site>/api/v4/projects/<project-B-id>/trigger/pipeline

然而,我真正需要的是在触发作业完成后,在项目 A 流水线中收集和使用项目 B 流水线的工件。我该怎么做?

最佳答案

从 Gitlab 11.8 开始。您不需要使用 API 来触发管道,see official documentation

例子

让组 mygroup 有 2 个 repos:myrepository1myrepository2

repository1中配置

trigger-job:
trigger:
project: mygroup/myrepository2
branch: master
variables:
VARIABLE_TO_PASS: $CI_COMMIT_REF_NAME

repository2中配置

job-waiting-for-trigger:
stage: deploy
variables:
script:
- echo "${VARIABLE_TO_PASS} from another project pipeline"
only:
- pipelines

我没有试过这段代码,但它应该是正确的。

关于GitLab:多项目管道中的作业工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61578857/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com