Tekton Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 109: Line 109:
{{External|https://github.com/tektoncd/triggers/blob/main/README.md}}
{{External|https://github.com/tektoncd/triggers/blob/main/README.md}}
Tekton Triggers allows instantiating pipelines based on events (a PR merge, etc.)
Tekton Triggers allows instantiating pipelines based on events (a PR merge, etc.)
==Tekton Dashboard==
{{External|https://github.com/tektoncd/dashboard/blob/main/README.md}}
Tekton Dashboard is the web GUI that displays information about pipeline execution.


=Building Block=
=Building Block=
Tekton documentation refers to "building blocks". <font color=darkkhaki>Those are ... </font>
Tekton documentation refers to "building blocks". <font color=darkkhaki>Those are ... </font>

Revision as of 23:44, 27 April 2022

Internal

Overview

Tekton is a cloud-native solution for building CI/CD pipelines. Tekton installs and runs as an extension on your Kubernetes cluster and uses the well-established Kubernetes resource model. Tekton workloads execute inside Kubernetes containers. It has several components: Tekton Pipelines, Tekton CLI and Tekton Catalog. Tekton is part of the CD Foundation, a Linux Foundation project. It is implemented as a set of Kubernetes Custom Resources. Once deployed, Tekton can be accessed via Tekton CLI commands or API calls.

Tekton Domain Model

Task

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: hello
spec:
  steps:
    - name: echo
      image: alpine
      script: |
        #!/bin/sh
        echo "Hello World"

Task Operations

TaskRun

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: hello-task-run
spec:
  taskRef:
    name: hello

TaskRun Operations

Pipeline

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

PipelineRun

apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: simple-pipeline-run
spec:
  pipelineRef:
    name: simple-pipeline

PipelineRun Operations

Tekton Components

Tekton Pipelines

https://github.com/tektoncd/pipeline/blob/main/docs/README.md

Tekton Pipelines is the foundation of Tekton. It is implemented as a set of Kubernetes Custom Resources.

Tekton Pipeline Operations

Tekton CLI

https://github.com/tektoncd/cli/blob/main/README.md

Tekton CLI provides the command interface called tkn.

Tekton CLI Operations

Tekton Catalog

Tekton Triggers

https://github.com/tektoncd/triggers/blob/main/README.md

Tekton Triggers allows instantiating pipelines based on events (a PR merge, etc.)

Tekton Dashboard

https://github.com/tektoncd/dashboard/blob/main/README.md

Tekton Dashboard is the web GUI that displays information about pipeline execution.

Building Block

Tekton documentation refers to "building blocks". Those are ...