簡體   English   中英

我們可以在 gitlab-ci.yml 中使用動態作業名稱嗎?

[英]can we use dynamic jobs names in gitlab-ci.yml?

我必須從 jenkins 遷移到 gitlab,我希望能夠使用動態作業名稱,以便在管道摘要中直接獲得一些信息,而無需單擊每個作業等......在 jenkins 中,我們可以立即看到參數傳遞給我們的工作,這在 gitlab-ci 中不是這種情況。

我的測試運行器在 Windows 上,我嘗試按如下方式定義 yml:

job_%myParam%:
  stage: build
  script:
    - set>varList.txt
  artifacts:
    paths:
    - varList.txt

當我使用%myParam%=true開始我的工作時,該變量不會在工作名稱中解釋,因此它采用 job_%myParam% 的名稱而不是預期的“job_true”。

這甚至可能嗎?

謝謝:)

從 gitlab 12.9 開始,這可以使用trigger子管道來完成——盡管有點涉及:

引用 gitlab 文檔中的示例:

generate-config:
  stage: build
  script: generate-ci-config > generated-config.yml
  artifacts:
    paths:
      - generated-config.yml

child-pipeline:
  stage: test
  trigger:
    include:
      - artifact: generated-config.yml
        job: generate-config

在您的情況下,您會將job_%myParam%的定義放在job.yml.in ,然后讓腳本generate-ci-config例如sed "s/%myParam%/$PARAM/g" job.yml.in .

這當然只是更改名稱可能有點多,而且它們將是與附加階段相關的成本; 但它確實回答了這個問題,並且可能有助於做更多事情,比如在同一管道中從不同版本的參數開始。

不,在 GitLab CI 中不可能有動態作業名稱。

暫無
暫無

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

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