Tiếp tục chúng ta sẽ đên với bài cấu hình điều kiên trong workflow.
apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: name: wf-conditional spec: entrypoint: dag-template arguments: parameters: - name: messageA value: A - name: messageB value: B templates: - name: dag-template inputs: parameters: - name: messageA - name: messageB dag: tasks: - name: Task1 arguments: parameters: [{name: text, value: "{{inputs.parameters.messageA}}"}] template: task-decision - name: TaskA template: task-a dependencies: [Task1] when: "{{tasks.Task1.outputs.result}} == A" - name: TaskB template: task-b dependencies: [Task1] when: "{{tasks.Task1.outputs.result}} == B" - name: task-decision inputs: parameters: - name: text script: image: python:3.8-slim command: source: | p = "{{inputs.parameters.text}}" print(p) - name: task-a script: image: python:3.8-slim command: source: | print("Task A was executed") - name: task-b script: image: python:3.8-slim command: source: | print("Task B was executed")
When: sẽ là conditional của workflow.
Nếu output của task1 là A thì run template A
Chúng ta cùng soi TaskB
Bạn sẽ thấy nó báo là:
MESSAGE
when 'A == B' evaluated false
Vì thế nó không chạy step B