4.2. Task について

Task は Pipeline のビルディングブロックであり、順次実行される Step で設定されます。Step は、イメージのビルドなど、特定の目的を達成するための一連のコマンドです。

各 Task は Pod として実行され、各 Step は同じ Pod 内の独自のコンテナーで実行されます。Step は同じ Pod 内で実行されるため、ファイル、設定マップ、およびシークレットをキャッシュするために同じボリュームにアクセスできます。

Task は Git リソースなどの inputs パラメーター、およびレジストリーのイメージなどの outputs パラメーターを使用して他の Task と対話します。これらは再利用可能であり、複数の Pipeline で使用することができます。

以下は、Maven ベースの Java アプリケーションをビルドするための単一 Step の Maven Task の例です。

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: maven-build
spec:
  resources:
    inputs:
    - name: workspace-git
      targetPath: /
      type: git
  steps:
  - name: build
    image: maven:3.6.0-jdk-8-slim
    command:
    - /usr/bin/mvn
    args:
    - install

この Task は Pod を開始し、maven:3.6.0-jdk-8-slim イメージ内でコンテナーを実行して指定されたコマンドを実行します。アプリケーションのソースコードが含まれる workspace-git という入力ディレクトリーを受信します。

Task は Git リポジトリーのプレースホルダーのみを宣言し、使用する Git リポジトリーを指定しません。これにより、Task を複数の Pipeline および目的のために再利用可能にできます。