diff --git a/pipline/java-maven-upload b/pipline/java-maven-upload new file mode 100644 index 0000000..251da8d --- /dev/null +++ b/pipline/java-maven-upload @@ -0,0 +1,60 @@ +#!/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" \ No newline at end of file