簡體   English   中英

如何跳過 Argo 工作流程的一個步驟

[英]How to skip a step for Argo workflow

我正在嘗試 Argo 工作流程,並想了解如何凍結步驟。 假設我有 3 個步驟的工作流,而一個工作流在第 2 步失敗。所以我想使用成功的第 1 步的工件重新提交第 2 步的工作流。 我怎樣才能做到這一點? 我在文檔的任何地方都找不到指南。

我認為您應該考慮在您的步驟中使用條件工件傳遞

條件提供了一種在運行時影響工作流控制流的方法,具體取決於參數。 在此示例中,“print-hello”模板可能會或可能不會執行,具體取決於輸入參數“should-print”。 當提交時

$ argo submit examples/conditionals.yaml

該步驟將被跳過,因為 'should-print' 將評估為 false。 提交時:

$ argo submit examples/conditionals.yaml -p should-print=true

該步驟將被執行,因為 'should-print' 將評估為真。

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: conditional-
spec:
  entrypoint: conditional-example
  arguments:
    parameters:
    - name: should-print
      value: "false"

  templates:
  - name: conditional-example
    inputs:
      parameters:
      - name: should-print
    steps:
    - - name: print-hello
        template: whalesay
        when: "{{inputs.parameters.should-print}} == true"

  - name: whalesay
    container:
      image: docker/whalesay:latest
      command: [sh, -c]
      args: ["cowsay hello"]

如果您在每個步驟中使用條件,您將能夠以適當的條件從您喜歡的步驟開始。

Argo: Workflow Engine for Kubernetes這篇文章中也有一個戰利品,作者解釋了coinflip 示例中條件的使用。 您可以在他們的GitHub 頁面上看到許多示例。

暫無
暫無

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

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