Инструменты пользователя

Инструменты сайта


service:nexus

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:nexus [17.06.2025 12:08] – [Список репозиториев] viacheslavservice:nexus [17.06.2025 20:24] (текущий) – [Удаление] viacheslav
Строка 550: Строка 550:
 </code> </code>
  
 +Bash
 +<code bash>
 +#!/bin/bash
 +
 +cred='admin:admin'
 +artifact='lunar-flashback-mixins'
 +ext='jar'
 +token=1
 +query="http://k3.workgroup:8081/service/rest/v1/search/assets?maven.artifactId=${artifact}&maven.classifier&maven.extension=${ext}"
 +# Если токен не обрезать, то будет ошибка "Value too great for base", т. к. число слишком большое
 +while [[ ${token:0:5} -ne "null" ]]; do
 +  case ${token:0:5} in
 +    1) url=$query ;;
 +    *) url=$(echo -n "${query}&continuationToken=${token}") ;;
 +  esac
 +  search=$(curl -X GET -sLu $cred $url)
 +  report+="$(jq -r .items[] <<< $search)"
 +  token=$(jq -r .continuationToken <<< $search)
 +done
 +
 +echo "$report"
 +
 +# Вывести список: версия, время загрузки, ссылка
 +jq -r '. | "\(.maven2.version) \(.lastModified) \(.downloadUrl)"' <<< $report
 +</code>
 +https://stackoverflow.com/questions/28164849/using-jq-to-parse-and-display-multiple-fields-in-a-json-serially
 ===== Удаление ===== ===== Удаление =====
 <code powershell> <code powershell>
Строка 556: Строка 582:
 (curl.exe -ksu $cred "$apiUrl/search/assets?repository=maven-public&version=1.0.?" |ConvertFrom-Json).items |% { (curl.exe -ksu $cred "$apiUrl/search/assets?repository=maven-public&version=1.0.?" |ConvertFrom-Json).items |% {
     curl.exe -ksu $cred -X DELETE "$apiUrl/assets/$($_.id)"     curl.exe -ksu $cred -X DELETE "$apiUrl/assets/$($_.id)"
 +}
 +</code>
 +
 +Удаление старых артефактов (''$report'' из [[nexus#список_всех_версий_артефакта|списка всех версий артефакта]])
 +<code powershell>
 +$selection = $report |select @{n='version';e={$_.maven2.version}},downloadurl |sort uploaded
 +# Здесь из версий 0.0.123 выборка по первой цифре версии патча.
 +# Если последняя версия 0.0.888, будут удалены все версии <= 0.0.699.
 +($selection |group {$_.version -replace '.*\.(\d).*','$1'} |select -SkipLast 2).group |% {
 +    curl.exe -X DELETE -Lu $cred $_.downloadurl
 +    if ($?) {"$($_.version) удалена"}
 +    else {write-host -fore red "Ошибка при удалении $($_.version)"}
 } }
 </code> </code>
service/nexus.1750162132.txt.gz · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki