簡體   English   中英

我可以只安排一個特定的 GitLab CI/CD 作業嗎?

[英]Can I schedule only one specific GitLab CI/CD job?

目前,我在管道內的gitlab-ci.yaml中配置了幾個 CI/CD 作業。 例如,我在一個分支中配置了構建和部署。 其中一項工作是創建備份。

我想每晚只安排備份工作。 但是,在 GitLab CI/CD 的 schedule 部分,我只能 select 一個分支或一個標簽。 這將導致觸發所有階段/作業,而我只希望觸發備份。

我已經看到配置rulesexcepts的選項,以僅在特定上下文中觸發作業。 然而,這感覺有點像補丁解決方案。 在 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.

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