Nexus Publisher Toolkit - это набор скриптов для автоматизации работы с Nexus Repository Manager. Поддерживает многопоточную загрузку/выгрузку артефактов различных типов
Присоединяйтесь к нашим социальным сетям:
- Nexus Publisher Toolkit
Базовые компоненты, необходимые для работы с проектом:
- bash >= 5.0.3(1)-release
git clone <nexus-publisher-toolkit-repo>
cd nexus-publisher-toolkit
chmod +x *.shДля начала работы необходимо установить pre-commit и хуки
$ pip install pre-commit
$ pre-commit --version
pre-commit 4.2.0
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit
pre-commit installed at .git/hooks/commit-msg
pre-commit installed at .git/hooks/pre-pushWarning
Чтобы проверить свои изменения, воспользуйтесь командой pre-commit run --all-files.
Чтобы проверить конкретную задачу, воспользуетесь командой pre-commit run <target> --all-files.
Если Вы понимаете что творите и хотите пропустить проверку pre-commit-ом воспользуйтесь --no-verify, пример git commit -m "Добавил изменения и не хочу проверки" --no-verify
%%{init: { 'theme':'dark', 'sequence': {'useMaxWidth':false} } }%%
graph TD
A[Prepare artifacts] --> B[Run import script]
B --> C{Default Multi-thread?}
C -->|Yes| D[20 threads]
C -->|No| E[Custom threads]
D --> F[Parallel processing]
E --> F[Complete]
## Пример настройки многопоточности
export BATCH_SIZE=15 # Количество параллельных процессов(по умолчанию это значение равно 20)
export WAIT_TIME=5 # Пауза между итерациями (секунды)(по умолчанию это значение 3)
./import_maven.sh -r http://nexus.example.com -u admin -p password## Пример: Импорт Maven-артефактов
./import_maven.sh \
-r http://nexus.example.com/repository/maven-releases/ \
-u admin \
-p s3cr3tP@ss \
-t ./maven-artifacts## Пример: Импорт NPM-пакетов
./import_npm.sh \
-r http://nexus.example.com/repository/npm-registry/ \
-u npm-user \
-p npm-pass- Ошибка: Certificate verification failed
+ Решение: Добавить в /etc/lftp.conf:
set ssl:verify-certificate no# Проверка доступа:
curl -u username:password http://nexus.example.com/service/metrics/ping-
Логируйте операции:
./import_maven.sh -r "${NEXUS_URL}" | tee import.log
-
Тестируйте на малых количествах потоков и артефактов перед полным импортом:
## Только 10 артефактов export BATCH_SIZE=10 ./import_pyp.sh -r "${NEXUS_URL}" -t ./test-import