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 1 kind: Pipeline 2 metadata: name: build-and-deploy 3 spec: 4 workspaces: 5 - name: shared-workspace params: 6 - 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: 7 - 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 8 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 9 taskRef: name: apply-manifests workspaces: - name: source workspace: shared-workspace runAfter: 10 - 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
:buildah
ClusterTask を使用して、所定の Git リポジトリーからアプリケーションイメージをビルドします。 - 9
- Task
apply-manifests
: 同じ名前のユーザー定義 Task を使用します。 - 10
- Task が Pipeline で実行されるシーケンスを指定します。この例では、
apply-manifests
Task はbuild-image
Task の完了後にのみ実行されます。