Update pipline/java-maven-upload

This commit is contained in:
2026-08-26 20:57:29 +08:00
parent f29c5fe7c7
commit a922bca026
+37 -25
View File
@@ -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"
echo "Все артефакты обработаны. Загружено/обработано: $counter из $total_files"