Add nexus/maven/readme.md
This commit is contained in:
parent
d2f652e161
commit
4c42e6c604
152
nexus/maven/readme.md
Normal file
152
nexus/maven/readme.md
Normal file
@ -0,0 +1,152 @@
|
||||
Для добавления репозиториев Nexus 3 в `settings.xml` с использованием паролей, зашифрованных в Base64, мы разделим инструкцию на два этапа: для Windows и Linux. Важно отметить, что Maven не поддерживает автоматическое декодирование Base64, поэтому вам нужно будет самостоятельно убедиться, что пароль корректно декодируется на стороне сервера.
|
||||
|
||||
---
|
||||
|
||||
## **Общая структура `settings.xml`**
|
||||
Файл `settings.xml` должен содержать:
|
||||
1. Секцию `<servers>` для аутентификации в репозиториях.
|
||||
2. Секцию `<mirrors>` или `<repositories>` (в зависимости от ваших требований).
|
||||
|
||||
Пример структуры файла:
|
||||
|
||||
```xml
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
<servers>
|
||||
<!-- Серверы для репозиториев -->
|
||||
</servers>
|
||||
<mirrors>
|
||||
<!-- Зеркала для репозиториев -->
|
||||
</mirrors>
|
||||
</settings>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## **Шаг 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`. Для каждого репозитория создайте соответствующий `<server>` с Base64-закодированным паролем.
|
||||
|
||||
### **Пример конфигурации**
|
||||
```xml
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
<servers>
|
||||
<server>
|
||||
<id>nexus-base-release</id>
|
||||
<username>your-username</username>
|
||||
<password>bXlQYXNzd29yZA==</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>nexus-base-snapshot</id>
|
||||
<username>your-username</username>
|
||||
<password>bXlQYXNzd29yZA==</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>nexus-project01-release</id>
|
||||
<username>your-username</username>
|
||||
<password>bXlQYXNzd29yZA==</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>nexus-project01-snapshot</id>
|
||||
<username>your-username</username>
|
||||
<password>bXlQYXNzd29yZA==</password>
|
||||
</server>
|
||||
</servers>
|
||||
|
||||
<mirrors>
|
||||
<mirror>
|
||||
<id>nexus-base-release</id>
|
||||
<url>https://nexus-host.org.ru/maven-base-release</url>
|
||||
<mirrorOf>*</mirrorOf>
|
||||
</mirror>
|
||||
<mirror>
|
||||
<id>nexus-base-snapshot</id>
|
||||
<url>https://nexus-host.org.ru/maven-base-snapshot</url>
|
||||
<mirrorOf>*</mirrorOf>
|
||||
</mirror>
|
||||
<mirror>
|
||||
<id>nexus-project01-release</id>
|
||||
<url>https://nexus-host.org.ru/maven-project01-release</url>
|
||||
<mirrorOf>*</mirrorOf>
|
||||
</mirror>
|
||||
<mirror>
|
||||
<id>nexus-project01-snapshot</id>
|
||||
<url>https://nexus-host.org.ru/maven-project01-snapshot</url>
|
||||
<mirrorOf>*</mirrorOf>
|
||||
</mirror>
|
||||
</mirrors>
|
||||
</settings>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## **Шаг 3: Размещение `settings.xml`**
|
||||
### **Windows**
|
||||
1. Путь к пользовательскому файлу: `%USERPROFILE%\.m2\settings.xml`.
|
||||
- Например: `C:\Users\<YourUsername>\.m2\settings.xml`.
|
||||
2. Если каталог `.m2` отсутствует, создайте его:
|
||||
```cmd
|
||||
mkdir %USERPROFILE%\.m2
|
||||
```
|
||||
3. Сохраните файл `settings.xml` в этот каталог.
|
||||
|
||||
### **Linux**
|
||||
1. Путь к пользовательскому файлу: `~/.m2/settings.xml`.
|
||||
- Например: `/home/<your-username>/.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`, чтобы предотвратить несанкционированное чтение паролей.
|
||||
|
||||
---
|
||||
Loading…
x
Reference in New Issue
Block a user