whirlwind
TDD infected, paranoid
Имеется дженкинс под докером. Например такой кампауз
	
	
	
		
Требуется натравить задачу, запускаемую из jenkins-docker, на selenium-hub. Сейчас работает через задницу. Имена этой сетки в дочернем докере естесно не резолвятся. Но можно прописать IP хаба в Jenkinsfile вручную, предварительно посмотрев network после запуска. Или можно извратиться с sh getent. Или с EnvInject. В теории можно сюда же поднять dns и натравить на него jenkins-docker через agent args в Jenkinsfile. Но я подозреваю, что есть более правильный способ. Ну как бы естественным кажется типовой кейс: есть отдельно поднятый селениум грид с кучей нодов и вообще отдельно администрируемый, и отдельные jenkins таски для юзания кластера грида. Как по-нормальному подружить все это дело?
								
		Код:
	
	version: "3"
services:
  selenium-hub:
    image: selenium/hub:3.141.59-zinc
    container_name: selenium-hub
    ports:
      - "4444:4444"
  chrome:
    image: selenium/node-chrome:3.141.59-zinc
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
  firefox:
    image: selenium/node-firefox:3.141.59-zinc
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
  jenkins-docker:
    image: docker:dind
    container_name: docker
    privileged: true
    environment:
      - DOCKER_TLS_CERTDIR=/certs
    volumes:
      - jenkins-docker-certs:/certs/client
      - jenkins-data:/var/jenkins_home
  jenkins:
    image: jenkinsci/blueocean
    privileged: true
    environment:
      - DOCKER_HOST=tcp://docker:2376
      - DOCKER_CERT_PATH=/certs/client
      - DOCKER_TLS_VERIFY=1
      - TZ=Europe/Moscow
      - JAVA_OPTS=-Xmx1024m -Xms256m -XX:MaxPermSize=256m
    volumes:
      - jenkins-docker-certs:/certs/client:ro
      - jenkins-data:/var/jenkins_home
    ports:
      - "8080:8080"
      - "50000:50000"
    user: "0"
networks:
  default:
    external:
      name: jenkins
volumes:
  jenkins-docker-certs:
    external: true
  jenkins-data:
    external: true 
	            
 
 
		 
 
		