簡體   English   中英

GitLab:多項目管道中的作業工件

[英]GitLab: Job artifacts in multi project pipelines

一段時間以來,我一直在嘗試學習多項目流水線,除了 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 中的管道永遠處於待處理的 state 中。 我以以下方式使用 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 來觸發管道, 見官方文檔

例子

讓我們將mygroup與 2 個 repos 組合在一起: myrepository1myrepository2

repository1中配置

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

repository2中配置

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

我沒有嘗試過這段代碼,但它應該是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM