Быстрый старт
Этот документ поможет вам быстро понять, как создать Nexus connector для подключения к Nexus репозиторию и выполнять операции mvn безопасно, без прямой работы с учетными данными.
Мы создадим Nexus connector и используем его для выполнения mvn deploy без прямого обращения с учетными данными на стороне клиента.
Содержание
Оценочное время чтенияТребованияОбзор процессаПошаговое руководствоШаг 1: Создать NamespaceШаг 2: Создать учетные данные Nexus и ConnectorШаг 3: Создать Job для выполненияmvn deployОсновные настройкиШаг 4: Проверить выполнениеЧто происходит под капотомВажные замечанияУстранение неполадокДополнительное чтениеСсылкиОценочное время чтения
15 минут
Требования
- Kubernetes кластер с установленной системой Connectors (компоненты Operator, ConnectorsCore и ConnectorsNexus). Подробнее об установке этих компонентов смотрите в Installation Guide.
- Адрес Nexus репозитория и учетные данные
- Базовые знания Kubernetes и Maven
Обзор процесса
Пошаговое руководство
Шаг 1: Создать Namespace
Создайте выделенный namespace для этой демонстрации:
Шаг 2: Создать учетные данные Nexus и Connector
Создайте одновременно Secret с учетными данными Nexus и ресурс Nexus connector. Ваш Nexus репозиторий должен быть репозиторием snapshots.
Более подробную информацию о создании и настройке connectors смотрите в Connectors Quick Start Guide.
Проверьте, что connector находится в статусе "Ready":
Вывод должен быть следующим:
Шаг 3: Создать Job для выполнения mvn deploy
Создайте job, который использует connector для выполнения Maven операций:
Основные настройки
MAVEN_OPTS в окружении контейнера:
Установлено в MAVEN_OPTS=-Dmaven.resolver.transport=wagon
Скрипты в контейнере:
Используется команда keytool для импорта файла ca.cert в truststore клиента, чтобы доверять прокси-серверу connector перед выполнением операций mvn.
volumes[].volumeAttributes
connector.name: имя вашего Nexus connectorconfiguration.names: установлено вsettings, что ссылается на шаблон конфигурации Maven, определённый в Nexus ConnectorClass. Этот шаблон генерирует файлsettings.xmlс нужными настройками прокси и аутентификации.configuration.params: JSON-строка с параметрами конфигурации во время выполнения. Дляconfiguration.names: "settings"можно задатьsettings.mirrorRepository(опционально). Если не указано, используется значение по умолчанию ConnectorClass (""), и вsettings.xmlне добавляется зеркало Maven.
Шаг 4: Проверить выполнение
Проверьте логи job, чтобы убедиться, что операции mvn deploy выполнены успешно:
Вы должны увидеть успешное завершение операций mvn deploy и загрузку jar в Nexus репозиторий.
Пример вывода:
Что происходит под капотом
Nexus connector работает следующим образом:
- Создаёт прокси-сервис, который находится между вашим клиентом и целевым Nexus репозиторием
- Вставляет информацию об аутентификации при прохождении запросов через прокси
- Предоставляет конфигурационные файлы (например,
settings.xml,.npmrc,pip.conf) для клиентов, чтобы выполнять операции через прокси
Для демонстрации этого механизма просмотрите сгенерированный файл settings.xml:
Просмотрите сгенерированные файлы в /opt/maven/:
Просмотрите сгенерированный файл settings.xml:
Пример вывода:
Важные замечания
- В Pod монтируются два файла через Connectors CSI Driver:
settings.xmlиca.cert. - Файл
settings.xmlсодержит раздел конфигурации прокси, который позволяет подключаться к Nexus Maven репозиторию через прокси. Прокси вставляет информацию об аутентификации при прохождении запросов. - Файл
settings.xmlне содержит оригинальных секретов и монтируется в Pod через Connectors CSI Driver.
Устранение неполадок
Если операция не удалась, проверьте следующее:
-
Статус Connector: Убедитесь, что connector в состоянии "Ready":
-
Проверьте статус развертывания connectors: убедитесь, что все компоненты развернуты и находятся в состоянии "Ready"
Дополнительное чтение
После успешного выполнения операций с использованием Nexus connector вы можете:
- Узнать больше о Concepts of Nexus Connectors