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

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

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

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

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

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

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

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

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

    Сценарий с мульти-коннектором

    Чтобы загрузить зависимости из зеркала и развернуть в приватный репозиторий в одном TaskRun, подготовьте два Maven-коннектора:

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

    Затем смонтируйте оба коннектора в одном workspace с помощью volumeAttributes.connectors.

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

    После подтверждения, что ваш Tekton Task может использовать Maven 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 используется для загрузки зависимостей из настроенного зеркала.
    • maven-deploy-connector используется при выполнении mvn deploy для загрузки артефактов в приватный репозиторий.
    • settings.xml и ca.cert монтируются из одной и той же конфигурации settings.

    По параметрам workspaces смотрите:

    Для получения дополнительной информации о Connectors CSI Driver смотрите Connectors CSI Configuration.

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

    Ссылки