Создание репозитория и загрузка артефактов в док-контейнер Nexus3
Это в основном вопрос из двух частей.
Во-первых, я хотел бы знать, как мне создать новый репозиторий в контейнере Nexus3 после запуска контейнера. Я знаю грубую схему того, что должно быть сделано, я просто не знаю, как это сделать. По сути, два запроса cURL должны быть отправлены в контейнер ПОСЛЕ его готовности. Запросы cURL следующие:
curl -X POST -u admin:admin123 --header 'Content-Type: application/json' \
http://127.0.0.1:8081/service/rest/v1/script \
-d '{"name":"newrepo","type":"groovy","content":"repository.createMavenHosted('\''new-repo'\'');"}'
curl -X POST -u admin:admin123 --header "Content-Type: text/plain" 'http://127.0.0.1:8081/service/rest/v1/script/newrepo/run'
(Приведенные выше запросы curl работают, когда я вручную отправляю их через приложение, такое как Postman ПОСЛЕ того, как контейнер готов. Я просто не уверен, как заставить Docker сделать это для меня)
Во-вторых, я хотел бы знать, как переместить артефакты во вновь созданный репозиторий. Есть ли место на образе nexus3, где я могу просто выполнить COPY
команду и просто скопировать необходимые артефакты в хранилище?
Ниже часть моего docker-compose.yml
version: "2.1"
services:
nexus:
container_name: nexus-container
image: sonatype/nexus3
ports:
- "8081:8081"
Это всего лишь часть всего файла, так как весь файл немного больше, поэтому я не хотел публиковать все это, но я могу сделать это при необходимости.
Спасибо за любую оказанную помощь:)
0 ответов
Рабочий каталог должен находиться в постоянном хранилище, поэтому вам не нужно пересоздавать конфигурацию при каждом запуске.
https://github.com/sonatype/docker-nexus3
Тем не менее, если вам действительно нужно это сделать, это можно сделать через API сценариев / инициализации: