3.2.2.3. パイプライン
Pipeline は、特定の実行順序で編成される Task リソースのコレクションです。これらは、アプリケーションのビルド、デプロイメント、およびデリバリーを自動化する複雑なワークフローを構築するために実行されます。1 つ以上のタスクを含むパイプラインを使用して、アプリケーションの CI/CD ワークフローを定義できます。
Pipeline 定義は、多くのフィールドまたは属性で設定され、Pipeline が特定の目的を達成することを可能にします。各 Pipeline リソース定義には、特定の入力を取り込み、特定の出力を生成する Task が少なくとも 1 つ含まれる必要があります。パイプライン定義には、アプリケーション要件に応じて Conditions、Workspaces、 Parameters、または Resources をオプションで含めることもできます。
以下の例は、buildah ClusterTask を使用して Git リポジトリーからアプリケーションイメージをビルドする build-and-deploy パイプラインを示しています。
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: build-and-deploy
spec:
workspaces:
- name: shared-workspace
params:
- name: deployment-name
type: string
description: name of the deployment to be patched
- name: git-url
type: string
description: url of the git repo for the code of deployment
- name: git-revision
type: string
description: revision to be used from repo of the code for deployment
default: "pipelines-1.4"
- name: IMAGE
type: string
description: image to be built from the code
tasks:
- name: fetch-repository
taskRef:
name: git-clone
kind: ClusterTask
workspaces:
- name: output
workspace: shared-workspace
params:
- name: url
value: $(params.git-url)
- name: subdirectory
value: ""
- name: deleteExisting
value: "true"
- name: revision
value: $(params.git-revision)
- name: build-image
taskRef:
name: buildah
kind: ClusterTask
params:
- name: TLSVERIFY
value: "false"
- name: IMAGE
value: $(params.IMAGE)
workspaces:
- name: source
workspace: shared-workspace
runAfter:
- fetch-repository
- name: apply-manifests
taskRef:
name: apply-manifests
workspaces:
- name: source
workspace: shared-workspace
runAfter:
- build-image
- name: update-deployment
taskRef:
name: update-deployment
workspaces:
- name: source
workspace: shared-workspace
params:
- name: deployment
value: $(params.deployment-name)
- name: IMAGE
value: $(params.IMAGE)
runAfter:
- apply-manifests
- 1
- Pipeline API バージョン
v1beta1。 - 2
- Kubernetes オブジェクトのタイプを指定します。この例では、
Pipelineです。 - 3
- この Pipeline の一意の名前。
- 4
- Pipeline の定義および構造を指定します。
- 5
- Pipeline のすべての Task で使用される Workspace。
- 6
- Pipeline のすべての Task で使用されるパラメーター。
- 7
- Pipeline で使用される Task の一覧を指定します。
- 8
- Task
build-image:buildahClusterTask を使用して、所定の Git リポジトリーからアプリケーションイメージをビルドします。 - 9
- Task
apply-manifests: 同じ名前のユーザー定義 Task を使用します。 - 10
- Task が Pipeline で実行されるシーケンスを指定します。この例では、
apply-manifestsTask はbuild-imageTask の完了後にのみ実行されます。