diff --git a/nexus/maven/readme.md b/nexus/maven/readme.md new file mode 100644 index 0000000..a77f940 --- /dev/null +++ b/nexus/maven/readme.md @@ -0,0 +1,152 @@ +Для добавления репозиториев Nexus 3 в `settings.xml` с использованием паролей, зашифрованных в Base64, мы разделим инструкцию на два этапа: для Windows и Linux. Важно отметить, что Maven не поддерживает автоматическое декодирование Base64, поэтому вам нужно будет самостоятельно убедиться, что пароль корректно декодируется на стороне сервера. + +--- + +## **Общая структура `settings.xml`** +Файл `settings.xml` должен содержать: +1. Секцию `` для аутентификации в репозиториях. +2. Секцию `` или `` (в зависимости от ваших требований). + +Пример структуры файла: + +```xml + + + + + + + + +``` + +--- + +## **Шаг 1: Кодирование пароля в Base64** +### **Windows** +1. Откройте командную строку (`cmd`) или PowerShell. +2. Выполните команду для кодирования пароля: + ```cmd + echo myPassword | base64 + ``` + Если используется PowerShell: + ```powershell + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("myPassword")) + ``` + +### **Linux** +1. Откройте терминал. +2. Выполните команду: + ```bash + echo -n 'myPassword' | base64 + ``` + Флаг `-n` исключает добавление символа новой строки. + +Результат — это ваш пароль, закодированный в Base64. Например: +``` +bXlQYXNzd29yZA== +``` + +--- + +## **Шаг 2: Настройка `settings.xml`** +Добавьте все репозитории в `settings.xml`. Для каждого репозитория создайте соответствующий `` с Base64-закодированным паролем. + +### **Пример конфигурации** +```xml + + + + nexus-base-release + your-username + bXlQYXNzd29yZA== + + + nexus-base-snapshot + your-username + bXlQYXNzd29yZA== + + + nexus-project01-release + your-username + bXlQYXNzd29yZA== + + + nexus-project01-snapshot + your-username + bXlQYXNzd29yZA== + + + + + + nexus-base-release + https://nexus-host.org.ru/maven-base-release + * + + + nexus-base-snapshot + https://nexus-host.org.ru/maven-base-snapshot + * + + + nexus-project01-release + https://nexus-host.org.ru/maven-project01-release + * + + + nexus-project01-snapshot + https://nexus-host.org.ru/maven-project01-snapshot + * + + + +``` + +--- + +## **Шаг 3: Размещение `settings.xml`** +### **Windows** +1. Путь к пользовательскому файлу: `%USERPROFILE%\.m2\settings.xml`. + - Например: `C:\Users\\.m2\settings.xml`. +2. Если каталог `.m2` отсутствует, создайте его: + ```cmd + mkdir %USERPROFILE%\.m2 + ``` +3. Сохраните файл `settings.xml` в этот каталог. + +### **Linux** +1. Путь к пользовательскому файлу: `~/.m2/settings.xml`. + - Например: `/home//.m2/settings.xml`. +2. Если каталог `.m2` отсутствует, создайте его: + ```bash + mkdir ~/.m2 + ``` +3. Сохраните файл `settings.xml` в этот каталог. + +--- + +## **Шаг 4: Проверка конфигурации** +1. Выполните команду для проверки: + ```bash + mvn help:effective-settings + ``` + Убедитесь, что ваши серверы и зеркала правильно распознаются. + +2. Протестируйте загрузку зависимостей: + ```bash + mvn dependency:resolve + ``` + +--- + +## **Важные замечания** +1. **Безопасность**: Base64 — это **не шифрование**, а лишь кодирование. Пароль можно легко декодировать. Рекомендуется использовать мастер-пароль Maven для шифрования. +2. **Совместимость**: Убедитесь, что сервер Nexus настроен на принятие Base64-закодированных паролей. +3. **Права доступа**: Ограничьте доступ к файлу `settings.xml`, чтобы предотвратить несанкционированное чтение паролей. + +---