service:nexus
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
service:nexus [17.06.2025 19:43] – [Список всех версий артефакта] viacheslav | service:nexus [04.09.2025 20:22] (текущий) – [Удаление] viacheslav | ||
---|---|---|---|
Строка 104: | Строка 104: | ||
$cred = ' | $cred = ' | ||
- | $files = (dir $folder -Recurse -File).FullName | + | # Пути к файлам jar и pom |
+ | $files = (dir $folder -Recurse -File -include " | ||
+ | # Добавить файлы SHA-1, у кого их нет | ||
+ | $files |% { | ||
+ | if (-not (Test-Path $_)) { | ||
+ | " | ||
+ | (Get-FileHash $_ -Algorithm SHA1).hash.tolower() |Out-File ($_ + " | ||
+ | } | ||
+ | } | ||
+ | # Пути к файлам jar, pom и sha1 | ||
+ | $files = (dir $folder -Recurse -File -include " | ||
+ | # Закачка со счётчиком | ||
+ | $overall = $files.count | ||
+ | $c = 1 | ||
foreach ($f in $files) { | foreach ($f in $files) { | ||
$url = $f.Replace(" | $url = $f.Replace(" | ||
+ | " | ||
"$f -> | "$f -> | ||
& curl.exe -ksu $cred -T $f $url | & curl.exe -ksu $cred -T $f $url | ||
+ | $c++ | ||
} | } | ||
</ | </ | ||
+ | |||
+ | Загрузка в snapshot-репозиторий (пример из Teamcity). Формат - '' | ||
+ | <code bash> | ||
+ | war_path=$(find / | ||
+ | version=$(date +' | ||
+ | curl -ku admin:admin -T " | ||
+ | " | ||
+ | </ | ||
+ | [[https:// | ||
==== Docker ==== | ==== Docker ==== | ||
Предполагается, | Предполагается, | ||
Строка 356: | Строка 380: | ||
==== curl ==== | ==== curl ==== | ||
+ | Последняя версия компонента | ||
+ | <code bash> | ||
+ | & curl.exe -Lvku admin:admin -o " | ||
+ | " | ||
+ | </ | ||
+ | [[https:// | ||
+ | |||
Скачивание всего репозитория. В зависимости от типа репозитория (здесь пример для maven-репы), | Скачивание всего репозитория. В зависимости от типа репозитория (здесь пример для maven-репы), | ||
<code bash> | <code bash> | ||
Строка 584: | Строка 615: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | Удаление старых артефактов ('' | ||
+ | <code powershell> | ||
+ | $selection = $report |select @{n=' | ||
+ | # Здесь из версий 0.0.123 выборка по первой цифре версии патча. | ||
+ | # Если последняя версия 0.0.888, будут удалены все версии <= 0.0.699. | ||
+ | ($selection |group {$_.version -replace ' | ||
+ | curl.exe -X DELETE -Lu $cred $_.downloadurl | ||
+ | if ($?) {" | ||
+ | else {write-host -fore red " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Удаление старых артефактов, | ||
+ | bash | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # Лимит хранимых сборок | ||
+ | keep=5 | ||
+ | |||
+ | echo "### Очистка Nexus от старых сборок ###" | ||
+ | assets=($(curl -su admin:admin ' | ||
+ | to_del=" | ||
+ | |||
+ | if [[ -n $to_del ]]; then | ||
+ | echo " | ||
+ | basename -a $to_del | ||
+ | for i in $to_del; do | ||
+ | curl -su admin:admin -X DELETE $i | ||
+ | done | ||
+ | else | ||
+ | echo " | ||
+ | fi | ||
+ | </ | ||
+ | |||
==== Docker ==== | ==== Docker ==== | ||
[[https:// | [[https:// | ||
Строка 691: | Строка 758: | ||
предполагаемое решение: | предполагаемое решение: | ||
+ | |||
+ | ==== Maven не может найти версию из указанного диапазона ==== | ||
+ | Ошибка при сборке, | ||
+ | < | ||
+ | OUTPUT> Caused by: org.eclipse.aether.collection.DependencyCollectionException: | ||
+ | OUTPUT> Caused by: org.eclipse.aether.resolution.VersionRangeResolutionException: | ||
+ | </ | ||
+ | Если указать точную версию, | ||
+ | |||
+ | Причина в том, что в Нексусе нет файла '' | ||
+ | |||
+ | <file xml maven-metadata.xml> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
===== Литература ===== | ===== Литература ===== | ||
service/nexus.1750189405.txt.gz · Последнее изменение: — viacheslav