4.2. 关于任务
任务(Task) 是 Pipeline 的构建块,它由带有一定顺序的执行步骤组成。步骤(Step)是一系列实现特定目标的命令,如构建镜像。
每个任务都作为 pod 运行,每个步骤都在同一个 pod 内自己的容器中运行。由于步骤在同一个 pod 中运行,所以它们可以访问同一卷来缓存文件、ConfigMap 和 Secret。
任务使用 inputs
参数(如 Git 资源),outputs
参数(如 registry 中的镜像)与其他任务交互。它们可以重复使用,并可用于多个 Pipelines。
这里是一个使用单一步骤构建基于 Maven 的 Java 应用程序的 Maven 任务示例。
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
此任务启动 pod,并在这个 pod 中使用 maven:3.6.0-jdk-8-slim
镜像运行一个容器,来运行指定的命令。它接收了一个名为 workspace-git
的输入目录,其中包含应用程序的源代码。
该任务仅声明了 Git 存储库的占位符,并没有指定要使用哪个 Git 存储库。这将允许此任务被重复用于多个管道和目的。