Загрузка данных
Нужно настроить Maven строго по корпоративной инструкции «Использование Nexus и SberOSC в Maven».
Сейчас выполняем ТОЛЬКО заполнение и установку официального settings.xml. Не исправляй Maven-профили, mirrorOf, URL, server id или другие элементы шаблона по собственному усмотрению.
Исходный корпоративный шаблон settings.xml находится в папке:
/Users/23865613/Downloads
Моя домашняя Maven-директория:
/Users/23865613/.m2
Проект:
/Users/23865613/IdeaProjects/snl-integration-audit
ОГРАНИЧЕНИЯ
1. Не изменять pom.xml.
2. Не изменять исходный код проекта.
3. Не изменять тесты.
4. Не изменять application.yaml.
5. Не создавать новые Maven-профили.
6. Не изменять существующие profile id и activeProfile.
7. Не изменять mirrorOf.
8. Не добавлять repositories или pluginRepositories.
9. Не изменять URL репозиториев.
10. Не изменять server id.
11. Не выполнять git add, commit, push, checkout, merge или rebase.
12. Не сохранять settings.xml внутри Git-репозитория.
13. Не выводить в чат токены, логины, пароли, BASE64_STRING или Authorization-заголовки.
14. Не выводить полное содержимое заполненного settings.xml.
15. Не запускать compile, test или dependency:resolve. Сейчас выполняется только настройка файла.
16. Если структура скачанного файла отличается от корпоративной инструкции, остановиться и сообщить о расхождении. Ничего не придумывать.
ШАГ 1. НАЙТИ ШАБЛОН
Найди в Downloads файлы Maven settings:
find /Users/23865613/Downloads -maxdepth 2 -type f \
\( -iname "settings.xml" -o -iname "settings*.xml" \) \
-print
Покажи для найденных файлов только:
- полный путь;
- дату изменения;
- размер;
- список server id;
- список mirror id;
- список profile id;
- список activeProfile.
Не показывай username и password.
Выбери скачанный корпоративный settings.xml, соответствующий инструкции «Использование Nexus и SberOSC в Maven».
ШАГ 2. ПРОВЕРИТЬ СТРУКТУРУ
В выбранном файле должны присутствовать следующие server id:
- SberOSC repository
- Maven lib dev
- Maven lib release
- Maven distr
- Maven proxy lib internal
- Mirror of central
- ml360.ca.sbrf.ru
Также должен присутствовать mirror:
- id: SberOSC repository
- url: https://sberosc.sigma.sbrf.ru/repo/maven/central/
Не меняй значение mirrorOf.
Также не изменяй profiles и activeProfiles, даже если их структура кажется странной или неполной. На этом этапе задача — только заполнить официальный шаблон.
Если перечисленные элементы отсутствуют, остановись и ничего не изменяй.
ШАГ 3. ЗАПРОСИТЬ У МЕНЯ УЧЁТНЫЕ ДАННЫЕ
Не редактируй файл, пока я отдельным сообщением не передам необходимые значения.
Запроси у меня следующие данные:
1. SberOSC token.
2. Nexus username из Nexus Token.
3. Nexus password из Nexus Token.
4. Числовой логин Delta/Omega для ml360.ca.sbrf.ru.
5. Значение password для ml360.ca.sbrf.ru.
Не повторяй полученные секреты в ответе.
Если я передам только «логин, пароль и токен», обязательно уточни:
- этот логин относится к Nexus или к ml360;
- этот пароль относится к Nexus или к ml360;
- совпадают ли Nexus username и числовой логин ml360.
Ничего не предполагай самостоятельно.
ШАГ 4. ЗАПОЛНИТЬ ТОЛЬКО PLACEHOLDER-ЗНАЧЕНИЯ
После получения всех значений замени только содержимое username/password внутри соответствующих server.
Для server id:
SberOSC repository
должно быть:
- username: literal-значение token
- password: переданный мной SberOSC token
То есть username должен остаться словом:
token
Для следующих server id:
- Maven lib dev
- Maven lib release
- Maven distr
- Maven proxy lib internal
- Mirror of central
используй:
- username: Nexus username из Nexus Token
- password: Nexus password из Nexus Token
Для server id:
ml360.ca.sbrf.ru
используй:
- username: переданный числовой логин Delta/Omega
- password: переданное мной значение для ml360
Не изменяй никакие другие элементы XML.
При записи значений обязательно корректно XML-экранируй специальные символы:
- & как &
- < как <
- > как >
- " как "
- ' как '
Не преобразовывай токены в Base64 и не используй значение BASE64_STRING. Для settings.xml нужны именно значения, указанные корпоративной инструкцией.
ШАГ 5. СОЗДАТЬ РЕЗЕРВНЫЕ КОПИИ
Перед изменением исходного файла создай его резервную копию рядом:
cp "/полный/путь/к/скачанному/settings.xml" \
"/полный/путь/к/скачанному/settings.xml.backup-$(date +%Y%m%d-%H%M%S)"
Создай Maven-директорию:
mkdir -p /Users/23865613/.m2
Если существует:
/Users/23865613/.m2/settings.xml
создай резервную копию:
cp /Users/23865613/.m2/settings.xml \
/Users/23865613/.m2/settings.xml.backup-$(date +%Y%m%d-%H%M%S)
Не показывай содержимое резервных копий.
ШАГ 6. СОХРАНИТЬ ЗАПОЛНЕННЫЙ ФАЙЛ
Сначала сохрани заполненный официальный файл на его исходном месте в Downloads.
Затем скопируй его:
cp "/полный/путь/к/заполненному/settings.xml" \
/Users/23865613/.m2/settings.xml
Установи права:
chmod 600 /Users/23865613/.m2/settings.xml
Проверь права:
stat -f "%Sp %N" /Users/23865613/.m2/settings.xml
Ожидаемый режим доступа:
-rw-------
ШАГ 7. ПРОВЕРИТЬ XML
Проверь синтаксис:
xmllint --noout /Users/23865613/.m2/settings.xml
Если xmllint отсутствует, используй Python только как XML-парсер:
python3 - <<'PY'
import xml.etree.ElementTree as ET
path = "/Users/23865613/.m2/settings.xml"
ET.parse(path)
print("XML корректен")
PY
Не выводи XML-файл.
ШАГ 8. ПРОВЕРИТЬ ЗАПОЛНЕНИЕ БЕЗ ВЫВОДА СЕКРЕТОВ
Безопасно проверь:
- все ожидаемые server id существуют;
- в username/password не осталось текстовых инструкций и заглушек;
- password не пустые;
- username не пустые;
- XML корректен;
- файл установлен в ~/.m2/settings.xml;
- права равны 600.
Ищи только наличие заглушек, но не печатай найденные реальные значения.
Примеры запрещённых оставшихся заглушек:
- ваш токен из sber osc
- user_name из токена nexus
- password из токена nexus
- ваш числовой логин
- любой набор букв
- username
- password
Не считай literal username «token» в server id «SberOSC repository» ошибкой: по инструкции там именно username=token.
ШАГ 9. INTELLIJ IDEA
Не редактируй автоматически файлы проекта или конфигурацию IntelliJ.
В итоговом отчёте укажи, что в IntelliJ IDEA необходимо открыть:
Settings
→ Build, Execution, Deployment
→ Build Tools
→ Maven
И установить:
User settings file:
/Users/23865613/.m2/settings.xml
Поле Local repository оставить стандартным:
/Users/23865613/.m2/repository
ШАГ 10. ИТОГОВЫЙ ОТЧЁТ
Покажи только безопасный отчёт:
1. Какой файл из Downloads был выбран.
2. Создана ли резервная копия файла из Downloads.
3. Создана ли резервная копия старого ~/.m2/settings.xml.
4. Установлен ли файл в /Users/23865613/.m2/settings.xml.
5. Результат проверки XML.
6. Права файла.
7. Список server id без username/password.
8. Остались ли незаполненные заглушки.
9. Подтверждение, что mirrorOf, profiles, activeProfiles и URL не изменялись.
10. Подтверждение, что pom.xml и файлы проекта не изменялись.
11. Подтверждение, что секреты не выводились.
12. Результат команды:
cd /Users/23865613/IdeaProjects/snl-integration-audit
git status --short
После отчёта остановись. Maven-сборку пока не запускай.