[英]Gitlab CI/CD: Schedule only for a particular job and exclude it from the pipeline
[英]Can I schedule only one specific GitLab CI/CD job?
目前,我在管道內的gitlab-ci.yaml
中配置了幾個 CI/CD 作業。 例如,我在一個分支中配置了構建和部署。 其中一項工作是創建備份。
我想每晚只安排備份工作。 但是,在 GitLab CI/CD 的 schedule 部分,我只能 select 一個分支或一個標簽。 這將導致觸發所有階段/作業,而我只希望觸發備份。
我已經看到配置rules
和excepts
的選項,以僅在特定上下文中觸發作業。 然而,這感覺有點像補丁解決方案。 在 Gitlab CI/CD 調度程序中是否有另一種方法可以只觸發一個作業?
我已經看到配置規則和例外的選項,以僅在特定上下文中觸發作業。 然而,這感覺有點像補丁解決方案。 在 Gitlab CI/CD 調度程序中是否有另一種方法可以只觸發一個作業?
不,除了使用rules:
或only:
/ except:
沒有其他方法來控制當管道被計划觸發時運行哪些作業。
您可以通過將管道配置拆分為多個文件然后使用適當的rules:
在include:
include:
- local: /do-backup.yml
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
- local: /do-pipeline.yml
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule"'
這樣你就不必對每一個工作都應用相同的rules:
你可以定義額外的rules:
每個工作沖突更少。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.