Menu Close
4.2.2. OpenShift Pipelines の概念
本書では、パイプラインの各種概念を詳述します。
4.2.2.1. タスク
Task は Pipeline のビルディングブロックであり、順次実行されるステップで構成されます。これは基本的に入出力の機能です。Task は個別に実行することも、パイプラインの一部として実行することもできます。これらは再利用可能であり、複数の Pipeline で使用することができます。
Step は、イメージのビルドなど、Task によって順次実行され、特定の目的を達成するための一連のコマンドです。各タスクは Pod として実行され、各ステップは同じ Pod 内のコンテナーとして実行されます。Step は同じ Pod 内で実行されるため、ファイル、設定マップ、およびシークレットをキャッシュするために同じボリュームにアクセスできます。
以下の例は、apply-manifests
Task を示しています。
apiVersion: tekton.dev/v1beta1 1 kind: Task 2 metadata: name: apply-manifests 3 spec: 4 workspaces: - name: source params: - name: manifest_dir description: The directory in source that contains yaml manifests type: string default: "k8s" steps: - name: apply image: image-registry.openshift-image-registry.svc:5000/openshift/cli:latest workingDir: /workspace/source command: ["/bin/bash", "-c"] args: - |- echo Applying manifests in $(params.manifest_dir) directory oc apply -f $(params.manifest_dir) echo -----------------------------------
この Task は Pod を起動し、指定されたコマンドを実行するために指定されたイメージを使用して Pod 内のコンテナーを実行されます。
Pipelines 1.6 以降、この手順の YAML ファイルから、以下のデフォルト設定が削除されます。
-
HOME
環境変数が/tekton/home
ディレクトリーにデフォルト設定されない -
workingDir
フィールドがデフォルトで/workspace
ディレクトリーにない
代わりに、この手順のコンテナーは HOME
環境変数と workingDir
フィールドを定義します。ただし、この手順の YAML ファイルにカスタム値を指定すると、デフォルト値を上書きできます。
一時的な措置として、古い Pipelines バージョンとの後方互換性を維持するために、TektonConfig
カスタムリソース定義の以下のフィールドを false
に設定できます。
spec: pipeline: disable-working-directory-overwrite: false disable-home-env-overwrite: false