Files
devops/pipline/java-maven-upload
T

60 lines
1.9 KiB
Bash
Raw Normal View History

2026-08-26 20:57:14 +08:00
#!/bin/bash
set -e
echo "=== Начинаем рекурсивную загрузку артефактов в Nexus ==="
echo "Поиск JAR-файлов в /app/.m2 ..."
echo "========================================="
# Функция для загрузки одного артефакта
deploy_artifact() {
local jar_file="$1"
local pom_file="${jar_file%.jar}.pom"
echo "Обработка: $jar_file"
if [[ -f "$pom_file" ]]; then
echo "Найден POM: $pom_file"
echo "Загружаем..."
mvn deploy:deploy-file \
-Dfile="$jar_file" \
-DpomFile="$pom_file" \
-DrepositoryId=nexus-repo \
-Durl=https://artifacts.tn.tngrp.ru/repository/sed-maven/ \
-Dpackaging=jar \
-DgeneratePom=false \
-DupdateReleaseInfo=true
echo "Загрузка завершена для $(basename "$jar_file")"
echo "---"
else
echo "POM-файл не найден для $jar_file"
echo "Искали: $pom_file"
echo "Пропускаем."
echo "---"
fi
}
# Рекурсивный поиск всех JAR-файлов в /app/.m2
echo "Поиск JAR-файлов..."
jar_files=$(find /app/.m2 -type f -name "*.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" 2>/dev/null || true)
if [[ -z "$jar_files" ]]; then
echo "JAR-файлы не найдены в /app/.m2"
exit 1
fi
# Подсчёт количества найденных файлов
total_files=$(echo "$jar_files" | wc -l)
echo "Найдено JAR-файлов: $total_files"
echo "========================================="
# Счётчик для прогресса
counter=0
for jar_file in $jar_files; do
counter=$((counter + 1))
echo "[$counter/$total_files]"
deploy_artifact "$jar_file"
done
echo "Все артефакты обработаны. Загружено: $counter"