Как опубликовать артефакт из локальных дженкинсов в локальный нексус - как в контейнерах докеров?

Я хочу опубликовать артефакт от Jenkins на моем компьютере в нексусе на моем локальном компьютере. В будущем у этих двоих будут выделенные серверы, но в настоящее время в целях тестирования я хочу попробовать именно так. Jenkins и Nexus находятся в отдельных контейнерах. Я могу опубликовать в nexus со своего компьютера, запустив mvn clean deploy из корневого каталога проекта. Я не могу этого сделать с помощью Jenkins.
Когда я вхожу в контейнер с Jenkins, используя: docker exec -it jenkins-container bash и выполняю curl http://localhost:8081, я получаю сообщение

curl: (7) Failed to connect to localhost port 8081: Connection refused

Насколько я понимаю, мне нужно указать URL, отличный от localhost, но какой? Как мне его найти? Как это настроить?

Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
0
0
258
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваши два контейнера докеров должны находиться в одной сети. После этого вы можете общаться друг с другом через их имя, которое станет хостом:

пример: curl http: // {docker_container_name}: 8081

См. Документацию по реализации сети в докере:

https://docs.docker.com/network/

Я добавил в свою сеть два контейнера, и теперь при запуске curl http://{docker_container_name}:8081 сообщений нет. Что-то изменилось. Я все еще не мог опубликовать. На этот раз с результатом Return code is: 400 , ReasonPhrase:Bad Request.. Будем смотреть дальше.

Rumid 07.09.2018 14:57

Если у вас есть ошибка 400, это означает, что ваши два контейнера теперь могут хорошо взаимодействовать друг с другом. Теперь это другая проблема, мне не хватает информации, чтобы на нее ответить

Elkanak 07.09.2018 15:21

Я сменил его с http://{docker_container_name}:8081 на http://{docker_network_container_ip}:8081, и все заработало :) Спасибо! Не могли бы вы обновить свой ответ? Для получения IP контейнеров используйте docker network inspect name-of-net

Rumid 10.09.2018 09:41

Другие вопросы по теме