Update pipline/java-maven-upload
This commit is contained in:
+37
-25
@@ -1,11 +1,33 @@
|
|||||||
#!/bin/bash
|
#!/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 "=== Начинаем рекурсивную загрузку артефактов в 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 "========================================="
|
echo "========================================="
|
||||||
|
|
||||||
# Функция для загрузки одного артефакта
|
|
||||||
deploy_artifact() {
|
deploy_artifact() {
|
||||||
local jar_file="$1"
|
local jar_file="$1"
|
||||||
local pom_file="${jar_file%.jar}.pom"
|
local pom_file="${jar_file%.jar}.pom"
|
||||||
@@ -16,16 +38,21 @@ deploy_artifact() {
|
|||||||
echo "Найден POM: $pom_file"
|
echo "Найден POM: $pom_file"
|
||||||
echo "Загружаем..."
|
echo "Загружаем..."
|
||||||
|
|
||||||
mvn deploy:deploy-file \
|
# Перехватываем статус выполнения, чтобы set -e не гасил скрипт при ошибке Nexus
|
||||||
|
if mvn deploy:deploy-file \
|
||||||
|
-s "$SETTINGS_FILE" \
|
||||||
-Dfile="$jar_file" \
|
-Dfile="$jar_file" \
|
||||||
-DpomFile="$pom_file" \
|
-DpomFile="$pom_file" \
|
||||||
-DrepositoryId=nexus-repo \
|
-DrepositoryId="$REPO_ID" \
|
||||||
-Durl=https://artifacts.tn.tngrp.ru/repository/sed-maven/ \
|
-Durl="$NEXUS_URL" \
|
||||||
-Dpackaging=jar \
|
-Dpackaging=jar \
|
||||||
-DgeneratePom=false \
|
-DgeneratePom=false \
|
||||||
-DupdateReleaseInfo=true
|
-DupdateReleaseInfo=true; then
|
||||||
|
|
||||||
echo "Загрузка завершена для $(basename "$jar_file")"
|
echo "Успешно загружен: $(basename "$jar_file")"
|
||||||
|
else
|
||||||
|
echo "ОШИБКА загрузки для $(basename "$jar_file")"
|
||||||
|
fi
|
||||||
echo "---"
|
echo "---"
|
||||||
else
|
else
|
||||||
echo "POM-файл не найден для $jar_file"
|
echo "POM-файл не найден для $jar_file"
|
||||||
@@ -35,21 +62,6 @@ deploy_artifact() {
|
|||||||
fi
|
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
|
counter=0
|
||||||
for jar_file in $jar_files; do
|
for jar_file in $jar_files; do
|
||||||
counter=$((counter + 1))
|
counter=$((counter + 1))
|
||||||
@@ -57,4 +69,4 @@ for jar_file in $jar_files; do
|
|||||||
deploy_artifact "$jar_file"
|
deploy_artifact "$jar_file"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Все артефакты обработаны. Загружено: $counter"
|
echo "Все артефакты обработаны. Загружено/обработано: $counter из $total_files"
|
||||||
Reference in New Issue
Block a user