Tekton pipelineruns 基础

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的配置信息
  workspaces:
  params:
  timeouts:
  taskRunSpecs:
  pipelineRef:              # 以指定要引用的Pipeline对象的名称
  pipelineSpec:             # 直接定义要运行的Pipeline的资源配置
  taskRunSpecs:             # 指定 PipelineRunTaskSpec 列表,允许为每个任务设置 ServiceAccountName、Pod 模板和Metadata。这会覆盖整个 Pipeline 的 Pod 模板集
    - pipelineTaskName:     # Pipeline.tasks.name
      serviceAccountName: 
      podTemplate:
        nodeSelector:
          disktype: ssd
  podTemplate:              # pod 模板信息
    schedulerName: volcano
    securityContext:
      runAsNonRoot: true
      runAsUser: 1001
    volumes:
        - name: my-cache
          persistentVolumeClaim:
            claimName: my-volume-claim

pipelineruns 示例

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name:  test-task-with-serviceaccount-git-ssh
spec:
  pipelineRef:
    name: source-to-image
  taskRunSpecs:
        - pipelineTaskName: git-clone
          serviceAccountName: gitlab-clone
  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/

posted @ 2023-12-04 16:35  小吉猫  阅读(68)  评论(0编辑  收藏  举报