Tekton Pipeline: Difference between revisions
Line 55: | Line 55: | ||
name: <font color=indigo><''pipeline-name''></font> <font color=teal> # required field</font> | name: <font color=indigo><''pipeline-name''></font> <font color=teal> # required field</font> | ||
spec: <font color=teal> # required field</font> | spec: <font color=teal> # required field</font> | ||
<span id='_params'></span>[[#Parameters|params]]: | |||
- name: <font color=indigo>''<some-string-param-name>''</font> | |||
type: string | |||
description: <font color=indigo>''some description''</font> | |||
default: <font color=indigo>''<some-default-value>''</font> | |||
- name: <font color=indigo>''<some-array-param-name>''</font> | |||
type: array | |||
description: <font color=indigo>''some description''</font> | |||
<span id='_tasks'></span>[[#Tasks|tasks]]: <font color=teal> # required field</font> | <span id='_tasks'></span>[[#Tasks|tasks]]: <font color=teal> # required field</font> | ||
</font> | </font> |
Revision as of 21:21, 28 April 2022
External
- https://tekton.dev/docs/pipelines/pipelines/
- https://github.com/tektoncd/pipeline/blob/main/docs/README.md
- https://github.com/tektoncd/pipeline/blob/main/docs/pipelines.md
Internal
Overview
A pipeline defines a series of ordered tasks. Just like steps, a task in a pipeline can use as input the output of a previously executed task. Tekton collects all the tasks, and based on the dependency relationships declared in definition of the pipeline, it orders the tasks in a DAG, and executes the graph in sequence. That results in the materialization of a number of task pods. The pipeline comes up with additional features, such as the capability to fan-out task execution, retry task execution or verify conditions that tasks must meet before proceeding. The pipeline is implemented as a Kubernetes custom resource.
Example
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: task1
spec:
steps:
- name: echo
image: alpine
script: |
#!/bin/sh
echo "this is Task 1 output"
---
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: task2
spec:
steps:
- name: echo
image: alpine
script: |
#!/bin/sh
echo "this is Task 2 output"
---
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: simple-pipeline
spec:
tasks:
- name: task1
taskRef:
name: task1
- name: task2
runAfter:
- task1
taskRef:
name: task2
Manifest
apiVersion: tekton.dev/v1beta1 # required field kind: Pipeline # required field metadata: # required field name: <pipeline-name> # required field spec: # required field params: - name: <some-string-param-name> type: string description: some description default: <some-default-value> - name: <some-array-param-name> type: array description: some description tasks: # required field
Tasks
The pipeline specification contains a mandatory list of tasks
. The list specifies the tasks that comprise this pipeline and the details of their execution.
Parameters
The pipeline parameters are listed under the params
field. For more details about Tekton parameters, see: