在 Tekton Task 中使用 Maven Connector
在 Tekton Task 中使用 Maven Connector,可以在 Tekton Task 执行期间集中管理工具集成信息,并安全访问 Maven registry。
本文将介绍如何在一个 TaskRun 中使用多 connector 能力来:
- 从镜像 Maven repository 拉取依赖
- 将构建产物发布到私有 Maven repository
Tekton Task 的要求
并非所有 Tekton Task 都可以使用 Maven Connector。
Maven Connector 通过 Connectors CSI Driver 注入临时 Maven 凭据。它提供一个名为 settings 的配置,该配置会生成包含临时身份验证信息的 settings.xml 文件,以及用于信任 connector 代理服务器的 ca.cert 文件。
因此,Tekton Task 必须满足以下要求才能使用 Maven Connector:
支持通过 Workspace 挂载 settings.xml 和 ca.cert 文件
多 Connector 场景
要在同一个 TaskRun 中从镜像拉取依赖并部署到私有 repository,请准备两个 Maven connector:
maven-mirror-connector:配置useAsMirror=true,用于依赖解析maven-deploy-connector:配置为部署目标 repository
然后使用 volumeAttributes.connectors 将这两个 connector 挂载到同一个 workspace 中。
该场景需要在 connectors-config 中启用 enable-multi-connector feature flag。详情请参阅 Feature Flags。
使用说明
在确认 Tekton Task 可以使用 Maven Connector 后,将这两个 connector 添加到 TaskRun YAML 中。
例如:
在此示例中:
maven-mirror-connector用于从已配置的 mirror 拉取依赖。maven-deploy-connector用于mvn deploy将构建产物上传到私有 repository。settings.xml和ca.cert会从同一个settings配置中挂载。
关于 workspace 参数,请参阅:
有关 Connectors CSI Driver 的更多信息,请参阅 Connectors CSI 配置。