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, ping
el 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 refused
al 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)?