pipelineruns 概述
PipelineRun允许你在集群上实例化和执行Pipeline。一个Pipeline指定一个或多个Tasks,按照期望的执行顺序执行。PipelineRun按照指定的顺序执行Pipeline中的Tasks,直到所有Tasks都成功执行或失败。
PipelineRun会自动为Pipeline中的每个Task创建相应的taskrun。
pipelineruns 资源清单
apiVersion: tekton.dev/v1 # 指定 API 版本。
kind: PipelineRun # 将此资源对象标识为一个PipelineRun对象。
metadata: # 指定唯一标识 PipelineRun资源对象的元数据。例如,一个name.
name: hello
namespace: tekton
generateName: show-run- # 自动生成name后缀
spec: # 指定该资源对象Task的配置信息
serviceAccountName: # 为运行各TaskRun的Pod指定要使用ServiceAccount
serviceAccountNames: # 分别为每个TaskRun的Pod单独指定要使用的ServiceAccount,map型数据
workspaces:
params:
timeouts:
taskRunSpecs:
pipelineRef: # 以指定要引用的Pipeline对象的名称
pipelineSpec: # 直接定义要运行的Pipeline的资源配置
podTemplate: # pod 模板信息
schedulerName: volcano
securityContext:
runAsNonRoot: true
runAsUser: 1001
pipelineruns 示例
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: test-task-with-serviceaccount-git-ssh
spec:
serviceAccountName: default
serviceAccountNames:
- taskName: deploy-to-cluster
serviceAccountName: helloworld-admin
pipelineRef:
name: source-to-image
params:
- name: git-url
value: https://github.com/tektoncd/pipeline.git
workspaces:
- name: codebase
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs-csi
- name: docker-config
secret:
secretName: docker-config
参考文档
https://tekton.dev/docs/pipelines/pipelineruns/