I my Tekton pipeline I want to emit a result so that $(results.myresult)
can be used in the next pipeline task. The code looks like this:
apiVersion: tekton.dev/v1beta1
kind: Task
name: foo
namespace: bar
...
spec:
results:
- name: myresult
script: |
#!/usr/bin/env bash
# do some meaningful stuff here before emitting the result
myvar="foobar"
printf $(params.myvar) | tee $(results.myresult)
However, I want to use python instead of a bash script. How can I emit the result variable? I guess I'd have to use something like this in python:
var myvar = "foobar"
sys.stdout.write(myvar)
But how can I write this into $(results.myresult) and mimic the combination of pipe and tee
from Linux in python?
This works as well.
script: |
#!/usr/bin/env python3
with open('$(results.myresult.path)', 'w') as f:
f.write('myresult')