ssh port forwarding avec Ansible
- 118 words
- 1 min
Un petit article pense-bête.
J'ai dû utiliser Ansible pour déployer une application sur une machine (appelons la application-machine) où il faut utiliser le port forwarding.
Lors du déploiement de l'application, git est utilisé pour cloner l'application.
Toutefois l'instance GitLab qui héberge l'application n'est pas accessible depuis application-machine.
De manière manuelle, j'utiliserais la commande ssh suivante :
ssh monutilisateur@application-machine -R2222:gitlab-instance-ip:22
Il faut que la configuration ssh sur application-machine ait les réglages suivants :
Host gitlab
Hostname 127.0.0.1
Port 2222
Ce qui permet de git clone via :
git clone git:gitlab:path_to_project.git
Pour que ce soit possible avec Ansible il faut rajouter l'argument de port forwarding de la commande ssh dans l'inventaire utiliser pour déployer :
[application]
machine-application
[application:vars]
ansible_ssh_extra_args = "-R2222:gitlab-instance-ip:22"
Maintenant on peut accéder à l'instance via le protocole git pour cloner le projet sur la machine.