Tekton pipelineruns 基础

发布时间 2023-12-04 16:38:21作者: 小吉猫

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/