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

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


service:nexus

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:nexus [23.01.2025 12:17] – [Список репозиториев] viacheslavservice:nexus [07.03.2025 08:51] (текущий) – [Nexus как веб-сервер] viacheslav
Строка 397: Строка 397:
 https://www.steventwheeler.com/java/2018/10/30/migrate-artifactory-to-nexus.html\\ https://www.steventwheeler.com/java/2018/10/30/migrate-artifactory-to-nexus.html\\
 https://github.com/LoadingByte/nexus3-exporter/tree/master\\ https://github.com/LoadingByte/nexus3-exporter/tree/master\\
 +
 +==== Ansible ====
 +<code bash>
 +ansible k3 -m maven_artifact -a "
 +repository_url=http://k3.workgroup:8081/repository/maven-releases/
 +username=admin
 +password=admin
 +artifact_id=lunar-lang
 +group_id=org.foo
 +dest=/tmp/lunar-lang.jar"
 +</code>
  
 ===== Поиск ===== ===== Поиск =====
Строка 437: Строка 448:
 1.0.12 1.0.12
 </code> </code>
 +
 +Это не всегда работает. Можно сначала запросить все версии (важно ''sort=version'' в запросе), а потом выбрать последнюю (первую в списке).
 +<code bash>
 +# curl
 +json=$(curl -qu admin:admin 'http://k3.workgroup:8081/service/rest/v1/search/assets?maven.artifactId=lunar-lang&maven.extension=jar&sort=version' |jq -r .items[0].maven2)
 +
 +jq -r .version <<< $json
 +</code>
 +
 +Ansible
 +<code yaml>
 +- name: Get artifact versions
 +  uri:
 +    url: http://k3.workgroup:8081/service/rest/v1/search/assets?maven.artifactId=lunar-lang&maven.extension=jar&sort=version
 +    user: admin
 +    password: admin
 +    method: GET
 +    force_basic_auth: true
 +    validate_certs: false
 +    body_format: json
 +  register: versions
 +
 +- name: Set variables
 +  set_fact:
 +    artifactId: "{{ versions['json']['items'][0]['maven2']['artifactId'] }}"
 +    extension: "{{ versions['json']['items'][0]['maven2']['extension'] }}"
 +    groupId: "{{ versions['json']['items'][0]['maven2']['groupId'] }}"
 +    version: "{{ versions['json']['items'][0]['maven2']['version'] }}"
 +
 +- name: Display variables
 +  debug:
 +    msg:
 +      - "{{ groupId }}"
 +      - "{{ artifactId }}.{{ extension }}"
 +      - "{{ version }}"
 +
 +# Как вариант - запрос json
 +# - debug:
 +#     msg: "{{ versions.json | json_query('items[0].maven2.version') }}"
 +</code>
 +https://www.reddit.com/r/ansible/comments/y7dh61/trying_to_create_a_variable_from_json/\\
  
 ==== Список репозиториев ==== ==== Список репозиториев ====
Строка 545: Строка 597:
  
 https://www.coveros.com/ssl-on-nexus-3/ https://www.coveros.com/ssl-on-nexus-3/
 +===== Дополнительно =====
 +==== Nexus как веб-сервер ====
 +Создаётся репозиторий hosted raw, и в его настройках нужно переключить Content Disposition на Inline, чтобы html-файлы отображались непосредственно в браузере, а не скачивались на диск.
 +
 +{{:service:pasted:20250306-071810.png}}
 +
 +
 +===== Проблемы =====
 +==== An error occured saving data. Duplicate key ====
 +Появляется при попытке загрузки после миграции БД с OrientDB на H2.
 +
 +предполагаемое решение: https://github.com/sonatype/nexus-public/issues/449
 ===== Литература ===== ===== Литература =====
  
service/nexus.1737634622.txt.gz · Последнее изменение: 23.01.2025 12:17 — viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki