![](/img/trans.png)
[英]How do we use the 'variables' keyword in 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.