• Русский
  • Использование Maven Connector в Tekton Task

    Использование Maven Connector в Tekton Tasks позволяет централизованно управлять информацией об интеграции инструментов и обеспечивать безопасный доступ к Maven registry во время выполнения Tekton Task.

    В этом документе показано, как использовать возможность нескольких connector в одном TaskRun для:

    • получения зависимостей из зеркального Maven repository
    • публикации артефактов сборки в приватный Maven repository

    Требования к Tekton Task

    Не все Tekton Tasks могут использовать Maven Connector.

    Maven Connector внедряет временные учетные данные Maven через Connectors CSI Driver. Он предоставляет конфигурацию с именем settings, которая формирует файл settings.xml с временной аутентификацией и файл ca.cert для доверия прокси-серверу connector.

    Поэтому Tekton Tasks должны соответствовать следующим требованиям для использования Maven Connector:

    Поддержка подключения файлов settings.xml и ca.cert через Workspace

    Сценарий с несколькими Connector

    Чтобы получать зависимости из mirror и развертывать их в private repository в рамках одного TaskRun, подготовьте два Maven connector:

    • maven-mirror-connector: настроен с useAsMirror=true для разрешения зависимостей
    • maven-deploy-connector: настроен для целевого repository развертывания

    Затем подключите оба connector в один workspace с помощью volumeAttributes.connectors.

    INFO

    Для этого сценария требуется включить флаг возможности enable-multi-connector в connectors-config. Подробнее см. Feature Flags.

    Инструкции по использованию

    После того как вы подтвердили, что ваш Tekton Task может использовать Maven Connector, добавьте оба connector в YAML TaskRun.

    Например:

    apiVersion: tekton.dev/v1
    kind: TaskRun
    metadata:
      name: maven-connector-demo
    spec:
      params:
      - name: GOALS
        value:
        - "deploy"
        - "-Dmaven.resolver.transport=wagon" # See: https://maven.apache.org/guides/mini/guide-resolver-transport.html#switching-between-transports
        - "-DaltDeploymentRepository=nexus::https://<repository-url>/repository/maven-releases" # Optional if deploy repository is configured in pom.xml
      # other parameters...
      workspaces:
      - name: settings
        csi:
          driver: connectors-csi
          readOnly: true
          volumeAttributes:
            connectors: "maven-mirror-connector,maven-deploy-connector"
            configuration.names: "settings"
      - name: cert
        csi:
          driver: connectors-csi
          readOnly: true
          volumeAttributes:
            connectors: "maven-mirror-connector,maven-deploy-connector"
            configuration.names: "settings"

    В этом примере:

    • maven-mirror-connector используется для получения зависимостей из настроенного mirror.
    • maven-deploy-connector используется, когда mvn deploy загружает артефакты в private repository.
    • settings.xml и ca.cert монтируются из одной и той же конфигурации settings.

    Подробнее о параметрах workspace см.:

    Дополнительные сведения о Connectors CSI Driver см. в разделе Connectors CSI Configuration.

    Дополнительные материалы

    Ссылки