1.3. 詳細な OpenShift Pipelines の概念
本書では、Pipeline の各種概念を詳述します。
1.3.1. Task
Task は Pipeline のビルディングブロックであり、順次実行される Step で設定されます。これらは再利用可能であり、複数の Pipeline で使用することができます。
Steps は、イメージのビルドなど、特定の目的を達成するための一連のコマンドです。各 Task は Pod として実行され、各 Step は同じ Pod 内の独自のコンテナーで実行されます。Step は同じ Pod 内で実行されるため、ファイル、ConfigMap、およびシークレットをキャッシュするために同じボリュームにアクセスできます。
以下の例は、apply-manifests
Task を示しています。
apiVersion: tekton.dev/v1beta1 1 kind: Task 2 metadata: name: apply-manifests 3 spec: 4 params: - default: k8s description: The directory in source that contains yaml manifests name: manifest_dir type: string steps: - args: - |- echo Applying manifests in $(inputs.params.manifest_dir) directory oc apply -f $(inputs.params.manifest_dir) echo ----------------------------------- command: - /bin/bash - -c image: quay.io/openshift/origin-cli:latest name: apply workingDir: /workspace/source workspaces: - name: source
この Task は Pod を開始し、maven:3.6.0-jdk-8-slim
イメージ内でコンテナーを実行して指定されたコマンドを実行します。アプリケーションのソースコードが含まれる workspace-git
という入力ディレクトリーを受信します。
Task は Git リポジトリーのプレースホルダーのみを宣言し、使用する Git リポジトリーを指定しません。これにより、Task を複数の Pipeline および目的のために再利用可能にできます。