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

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


service:nexus

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:nexus [01.09.2025 13:17] – [curl] viacheslavservice:nexus [04.09.2025 20:22] (текущий) – [Удаление] viacheslav
Строка 127: Строка 127:
 } }
 </code> </code>
 +
 +Загрузка в snapshot-репозиторий (пример из Teamcity). Формат - ''component-1.0.0-20250901.173542-1.war''
 +<code bash>
 +war_path=$(find /opt/%conf_name%/target -name '*.war')
 +version=$(date +'%%Y%%m%%d.%%H%%M%%S')
 +curl -ku admin:admin -T "$war_path" \
 +"http://k3:8081/repository/repo-snapshot/com/company/example/%conf_name%/1.0.0-SNAPSHOT/%conf_name%-1.0.0-${version}-%build.number%.war"
 +</code>
 +[[https://help.sonatype.com/en/maven-repositories.html#snapshot|Maven repositories - Snapshot]]
 ==== Docker ==== ==== Docker ====
 Предполагается, что Nexus опубликован просто по HTTP и сам запущен в Докере. Предполагается, что Nexus опубликован просто по HTTP и сам запущен в Докере.
Строка 373: Строка 382:
 Последняя версия компонента Последняя версия компонента
 <code bash> <code bash>
-& curl.exe -Lvku admin:admin -o "C:\temp\$artifact-$destinationVersion.$ext" `+& curl.exe -Lvku admin:admin -o "C:\temp\$artifact-$destinationVersion.$ext" \
 "http://k3:8081/service/rest/v1/search/assets/download?sort=version&repository=repo-snapshot&group=com.company.example&name=${artifact}&extension=${ext}" "http://k3:8081/service/rest/v1/search/assets/download?sort=version&repository=repo-snapshot&group=com.company.example&name=${artifact}&extension=${ext}"
 </code> </code>
Строка 618: Строка 627:
 } }
 </code> </code>
 +
 +==== Удаление старых артефактов, превышающих заданный лимит по количеству ====
 +bash
 +<code bash>
 +#!/bin/bash
 +
 +# Лимит хранимых сборок
 +keep=5
 +
 +echo "### Очистка Nexus от старых сборок ###"
 +assets=($(curl -su admin:admin 'http://k3.workgroup:8081/service/rest/v1/search/assets?repository=maven-snapshots&name=toml&sort=version' |jq -r .items[].downloadUrl |tr ' ' '\n'))
 +to_del="${assets[@]:$keep}"
 +
 +if [[ -n $to_del ]]; then
 +  echo "Удаляются следующие сборки, превышающие лимит $keep:"
 +  basename -a $to_del
 +  for i in $to_del; do
 +    curl -su admin:admin -X DELETE $i
 +  done
 +else
 +echo "Всего сборок в Nexus - ${#assets[@]}, лимит $keep не превышен"
 +fi
 +</code>
 +
 ==== Docker ==== ==== Docker ====
 [[https://support.sonatype.com/hc/en-us/articles/360009696054-How-to-delete-docker-images-from-Nexus-Repository-3|How to delete docker images from Nexus Repository 3]]\\ [[https://support.sonatype.com/hc/en-us/articles/360009696054-How-to-delete-docker-images-from-Nexus-Repository-3|How to delete docker images from Nexus Repository 3]]\\
service/nexus.1756732678.txt.gz · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki