Ở bài này chúng ta sẽ lưu file đó vào Artifact như là minio, s3,…
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: wf-artifact
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-artifact
dependencies: [Task1]
- name: Task4
arguments:
artifacts: [{name: text, from: "{{tasks.Task3.outputs.artifacts.artifact-out}}"}]
template: task-input-artifact
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-artifact
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:
artifacts:
- name: artifact-out
path: /tmp/output-params.txt
- name: task-input-artifact
inputs:
artifacts:
- name: text
path: /tmp/test
script:
image: python:3.8-slim
command:
source: |
with open("/tmp/test", "r") as f:
lines = f.read()
print(lines)
- name: deylay-template
suspend:
duration: "10s"


