From a922bca0265498f48393654590431baff6c2e1d2 Mon Sep 17 00:00:00 2001 From: pashko Date: Wed, 26 Aug 2026 20:57:29 +0800 Subject: [PATCH] Update pipline/java-maven-upload --- pipline/java-maven-upload | 62 +++++++++++++++++++++++---------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/pipline/java-maven-upload b/pipline/java-maven-upload index 251da8d..e9e0958 100644 --- a/pipline/java-maven-upload +++ b/pipline/java-maven-upload @@ -1,11 +1,33 @@ #!/bin/bash -set -e +set -euo pipefail + +SEARCH_DIR="/app/.m2" +NEXUS_URL="https://artifacts.tn.tngrp.ru/repository/sed-maven/" +REPO_ID="nexus-repo" +SETTINGS_FILE="/root/.m2/settings.xml" echo "=== Начинаем рекурсивную загрузку артефактов в Nexus ===" -echo "Поиск JAR-файлов в /app/.m2 ..." +echo "Поиск JAR-файлов в ${SEARCH_DIR} ..." +echo "=========================================" + +if [[ ! -d "$SEARCH_DIR" ]]; then + echo "Ошибка: Директория $SEARCH_DIR не существует!" + exit 1 +fi + +# Поиск файлов без массивной обёртки +jar_files=$(find "$SEARCH_DIR" -type f -name "*.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" 2>/dev/null || true) + +if [[ -z "$jar_files" ]]; then + echo "JAR-файлы не найдены в $SEARCH_DIR" + exit 1 +fi + +# Точный подсчет строк без фантомной пустой строки +total_files=$(echo "$jar_files" | grep -c '^') +echo "Найдено JAR-файлов: $total_files" echo "=========================================" -# Функция для загрузки одного артефакта deploy_artifact() { local jar_file="$1" local pom_file="${jar_file%.jar}.pom" @@ -16,16 +38,21 @@ deploy_artifact() { echo "Найден POM: $pom_file" echo "Загружаем..." - mvn deploy:deploy-file \ + # Перехватываем статус выполнения, чтобы set -e не гасил скрипт при ошибке Nexus + if mvn deploy:deploy-file \ + -s "$SETTINGS_FILE" \ -Dfile="$jar_file" \ -DpomFile="$pom_file" \ - -DrepositoryId=nexus-repo \ - -Durl=https://artifacts.tn.tngrp.ru/repository/sed-maven/ \ + -DrepositoryId="$REPO_ID" \ + -Durl="$NEXUS_URL" \ -Dpackaging=jar \ -DgeneratePom=false \ - -DupdateReleaseInfo=true - - echo "Загрузка завершена для $(basename "$jar_file")" + -DupdateReleaseInfo=true; then + + echo "Успешно загружен: $(basename "$jar_file")" + else + echo "ОШИБКА загрузки для $(basename "$jar_file")" + fi echo "---" else echo "POM-файл не найден для $jar_file" @@ -35,21 +62,6 @@ deploy_artifact() { 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)) @@ -57,4 +69,4 @@ for jar_file in $jar_files; do deploy_artifact "$jar_file" done -echo "Все артефакты обработаны. Загружено: $counter" \ No newline at end of file +echo "Все артефакты обработаны. Загружено/обработано: $counter из $total_files" \ No newline at end of file