Tekton Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 100: Line 100:
===Tekton Pipeline Operations===
===Tekton Pipeline Operations===
* [[Tekton_Operations#Installation|Installation]]
* [[Tekton_Operations#Installation|Installation]]
==Tekton CLI==
==Tekton CLI==
{{External|https://github.com/tektoncd/cli/blob/main/README.md}}
Tekton CLI provides the command interface called <code>tkn</code>.
===Tekton CLI Operations===
===Tekton CLI Operations===
* [[Tekton_Operations#Tekton_CLI_Installation|Installation]]
* [[Tekton_Operations#Tekton_CLI_Installation|Installation]]
==Tekton Catalog==
==Tekton Catalog==
==Tekton Triggers==
{{External|https://github.com/tektoncd/triggers/blob/main/README.md}}
Tekton Triggers allows instantiating pipelines based on events (a PR merge, etc.)
=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:41, 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.)

Building Block

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