Back to Pipeline

Migrating From Tekton `v1beta1` to Tekton `v1`

docs/migrating-v1beta1-to-v1.md

1.12.06.4 KB
Original Source
<!-- --- linkTitle: "Migrating from Tekton v1beta1" weight: 4000 --- -->

Migrating From Tekton v1beta1 to Tekton v1

This document describes the differences between v1beta1 Tekton entities and their v1 counterparts. It also describes the changed fields and the deprecated fields into v1.

Changes to fields

In Tekton v1, the following fields have been changed:

Old fieldReplacement
pipelineRun.spec.TimeoutpipelineRun.spec.timeouts.pipeline
pipelineRun.spec.taskRunSpecs.taskServiceAccountNamepipelineRun.spec.taskRunSpecs.serviceAccountName
pipelineRun.spec.taskRunSpecs.taskPodTemplatepipelineRun.spec.taskRunSpecs.podTemplate
taskRun.status.taskResultstaskRun.status.results
pipelineRun.status.pipelineResultspipelineRun.status.results
taskRun.spec.taskRef.bundletaskRun.spec.taskRef.resolver
pipelineRun.spec.pipelineRef.bundlepipelineRun.spec.pipelineRef.resolver
task.spec.resourcesremoved from Task
taskrun.spec.resourcesremoved from TaskRun
taskRun.status.cloudEventsremoved from TaskRun
taskRun.status.resourcesResultremoved from TaskRun
pipeline.spec.resourcesremoved from Pipeline
pipelineRun.spec.resourcesremoved from PipelineRun
pipelineRun.spec.serviceAccountNamepipelineRun.spec.taskRunTemplate.serviceAccountName
pipelineRun.spec.podTemplatepipelineRun.spec.taskRunTemplate.podTemplate
task.spec.steps[].resourcestask.spec.steps[].computeResources
task.spec.stepTemplate.resourcestask.spec.stepTemplate.computeResources
task.spec.sidecars[].resourcestask.spec.sidecars[].computeResources
taskRun.spec.sidecarOverridestaskRun.spec.sidecarSpecs
taskRun.spec.stepOverridestaskRun.spec.stepSpecs
taskRun.spec.sidecarSpecs[].resourcestaskRun.spec.sidecarSpecs[].computeResources
taskRun.spec.stepSpecs[].resourcestaskRun.spec.stepSpecs[].computeResources

Replacing resources from Task, TaskRun, Pipeline and PipelineRun <a id='replacing-resources-from-task,-taskrun,-pipeline-and-pipelinerun'> </a>

PipelineResources and the resources fields of Task, TaskRun, Pipeline and PipelineRun have been removed. Please use Tasks instead. For more information, see Replacing PipelineResources

Replacing taskRef.bundle and pipelineRef.bundle with Bundle Resolver <a id='replacing-taskRef.bundle-and-pipelineRef.bundle-with-bundle-resolver'> </a>

Note: taskRef.bundle and pipelineRef.bundle are now removed from v1beta1. This is kept for "history" purposes.

Bundle resolver in remote resolution should be used instead of taskRun.spec.taskRef.bundle and pipelineRun.spec.pipelineRef.bundle.

The enable-bundles-resolver feature flag must be enabled to use this feature.

yaml
# Before in v1beta1:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
spec:
  taskRef:
    name: example-task
    bundle: python:3-alpine
---
# After in v1:
apiVersion: tekton.dev/v1
kind: TaskRun
spec:
  taskRef:
    resolver: bundles
    params:
    - name: bundle
      value: python:3-alpine
    - name: name
      value: taskName
    - name: kind
      value: Task

Replacing ClusterTask with Remote Resolution

ClusterTask is deprecated. Please use the cluster resolver instead.

The enable-cluster-resolver feature flag must be enabled to use this feature.

The cluster resolver allows Pipelines, PipelineRuns, and TaskRuns to refer to Pipelines and Tasks defined in other namespaces in the cluster.

yaml
# Before in v1beta1:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: cluster-task-reference
spec:
  taskRef:
    name: example-task
    kind: ClusterTask
---
# After in v1:
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: cluster-task-reference
spec:
  taskRef:
    resolver: cluster
    params:
    - name: kind
      value: task
    - name: name
      value: example-task
    - name: namespace
      value: example-namespace

For more information, see Remote resolution.

Adding ServiceAccountName and PodTemplate under TaskRunTemplate in PipelineRun.Spec <a id='adding-serviceaccountname-and-podtemplate-under-taskruntemplate-in-pipelinerun.spec'></a>

ServiceAccountName and PodTemplate are moved to TaskRunTemplate as TaskRunTemplate.ServiceAccountName and TaskRunTemplate.PodTemplate so that users can specify common configuration in TaskRunTemplate which will apply to all the TaskRuns.

yaml
# Before in v1beta1:
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: template-pr
spec:
  pipelineRef:
    name: clone-test-build
  serviceAccountName: build
  podTemplate:
    securityContext:
      fsGroup: 65532
---
# After in v1:
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: template-pr
spec:
  pipelineRef:
    name: clone-test-build
  taskRunTemplate:
    serviceAccountName: build
    podTemplate:
      securityContext:
        fsGroup: 65532

For more information, see TEP-119.