Chà chà đã quá lâu chúng ta trờ lại học Argo Workflows
Ở bài 5 chúng ta chuyền value từ task này sang task khác thông qua Output Parameter
Ở bài sáu thì chúng truyền parameter bằng nội dung trong file.
apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: name: wf-output-parameter-file spec: entrypoint: dag-template arguments: parameters: - name: message1 value: Task 1 is executed - name: message2 value: Task 2 is executed templates: - name: dag-template inputs: parameters: - name: message1 - name: message2 dag: tasks: - name: Task1 arguments: parameters: [{name: text, value: "{{inputs.parameters.message1}}"}] template: task-template - name: Task2 arguments: parameters: [{name: text, value: "{{inputs.parameters.message2}}"}] template: task-template dependencies: [Task1] - name: Task3 template: task-output dependencies: [Task1] - name: Task4 arguments: parameters: [{name: text, value: "{{tasks.Task3.outputs.parameters.task-param}}"}] template: task-template dependencies: [Task2, Task3] - name: task-template inputs: parameters: - name: text script: image: python:3.8-slim command: source: | p = "{{inputs.parameters.text}}" print(p) - name: task-output script: image: node:9.1-alpine command: [node] source: | var par = "Whatever parameters are written to the file."; const fs = require('fs'); fs.writeFile("/tmp/output-params.txt", par) console.log(par); outputs: parameters: - name: task-param valueFrom: path: /tmp/output-params.txt - name: deylay-template suspend: duration: "10s"
Bạn để ý task3 nó sẽ thực hiện các action được define in template: task-output
Bạn sẽ thấy là thực hiện việc tạo ra file trong thư mục tmp
Phần output parameters thì chúng ta sử dụng các đọc content file bằng khai báo valueFrom.path
đây là hình chạy của