Задать вопрос
@sergey_privacy
Админ со стажем, начинающий DevOps

Как в качестве агента Jenkins плдключить Docker-контейнер docker:dind или аналогичный?

Всем привет!
Помогите нубу в дженкинсе настроить агента/слейва для сборки докеровских образов. Например, вот здесь:
https://habr.com/ru/articles/493580/
написано, что мы запускаем отдельный контейнер из образа docker:dind для сборки в качестве агента.

docker container run \
  --name jenkins-docker \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind


Ну ок, контейнер завелся. Мне надо к нему как то подключаться, видимо, через порт 2376. Захожу в настройки дженкинса, ноды, создать новую ноду. Там есть непонятный мне пункт "Launch method : It Controls how Jenkins starts this agent." В нем выбор из:

– Launch agent via Java Web Start
– Launch agent via execution of command on the master
– Launch slave agents via SSH
– Запустить агент, подключив его к контроллеру

Если я развернул обычного агента со стандартным SSH, то я подключаюсь по 3-му варианту через имя/ключ. А как настроить подключение к docker:dind через 2376 порт - пока не допер.
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Средний 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
emekhanikov
@emekhanikov
Разработчик и архитектор программного обеспечения
dind не лучшая идея, Jenkins из коробки позволяет собирать внутри Docker (есть плагин)
если делать по взрослому, то лучше запускать все (и Jenkins и сборки) в Kubernetes (есть в том же Docker Desktop)
примерно так https://mekhanikov.pro/pages/jenkins_install.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы