Sou novo no Jenkins.
Meu objetivo é criar umJob\pipeline do Jenkins que ativará um grupo de arquivos do playbook do ansible- o que criará uma longa instalação do meu produto testado.
eu construo2 recipientesna área de trabalho Docker (Windows):AnsibleeJenkins.
Abaixo do arquivo 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
Abaixo do arquivo 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 e Jenkins estão no mesmo ID de rede. Então, ping
o comando está funcionando a partir deAnsibleparaJenkinse vice-versa. Ambos os contêineres têm acesso à Internet.
Eu configurei nome de usuário e senhaadministrador|administradore instalei os seguintes plugins emJenkinsrecipiente atravésSite Jenkins > Gerenciar Jenkins > Gerenciar plug-ins:
- Plug-in Ansible
- SSH
- Publicar por SSH
Verifiquei os serviços SSH em ambas as 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:/#
Eu Connection refused
também recebi um erro ao tentar me conectar às próprias máquinas
a) O que devo configurar no container Ansible para que o SSH fique ativo? b) O que devo configurar no container Jenkins para que o SSH fique ativo? c) O que devo configurar em cada container para que eles se comuniquem via SSH (ou sejaporta 22)?