Cómo crear una conexión SSH entre contenedores Ansible y Jenkins

Cómo crear una conexión SSH entre contenedores Ansible y Jenkins

Soy nuevo en Jenkins.

Mi objetivo es crear unTrabajo de Jenkins\pipeline que activará un grupo de archivos del libro de jugadas de ansible- lo que creará una instalación larga de mi producto probado.

Construyo2 contenedoresen el escritorio Docker (Windows):ansibleyJenkins.

Debajo del archivo Ansible docker-compose.yml:

version: '2'
services:
  ansible:
    container_name: ansible
    hostname: ansible
    image: ansible
    volumes:
      - ~/product/ansible:/ansible
    working_dir: /ansible
    build:
      context: .
      dockerfile: Dockerfile
    dns:
      - 200.20.0.20
    networks:
    - network

networks:
  network:
    external: true

Debajo del archivo Jenkins docker-compose.yml:

version: '3.7'
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins:lts
    privileged: true
    user: root
    ports:
      - 8080:8080
      - 50000:50000
    container_name: jenkins
    volumes:
    - ~/r10_core/jenkins:/jenkins
    networks:
    - network

networks:
  network:
    external: true

Ansible y Jenkins están en el mismo ID de red. Entonces, pingel comando está funcionando desdeansibleaJenkinsy viceversa. Ambos contenedores tienen acceso a Internet.

Configuré nombre de usuario y contraseñaadministración|administracióne instalé los siguientes complementos enJenkinscontenedor a través deSitio de Jenkins > Administrar Jenkins > Administrar complementos:

  • Complemento ansible
  • SSH
  • Publicar por SSH

Revisé los servicios SSH en ambas máquinas.

Ansible:

[root@ansible ansible]# ssh 172.20.0.2
ssh: connect to host 172.20.0.2 port 22: Connection refused
[root@ansible ansible]# service --status-all
bash: service: command not found
[root@ansible ansible]# systemd
bash: systemd: command not found
[root@ansible ansible]# systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
[root@ansible ansible]#

Jenkins:

root@jenkins:/# ssh 172.20.0.3
ssh: connect to host 172.20.0.3 port 22: Connection refused
root@jenkins:/# service --status-all
 [ ? ]  hwclock.sh
root@jenkins:/#

También obtuve un error Connection refusedal intentar conectarme a las máquinas.

a) ¿Qué debo configurar en el contenedor de Ansible para que SSH esté activo? b) ¿Qué debo configurar en el contenedor de Jenkins para que SSH esté activo? c) ¿Qué debo configurar en cada contenedor para que se comuniquen entre sí a través de SSH (es decirpuerto 22)?

información relacionada