18 votes

Comment faire un git pull/push en utilisant ansible

J'essaie de faire un git pull/push en utilisant ansible. Je fais tourner ansible sur un serveur et je veux automatiser ou orchestrer un git pull/push sur un hôte distant.

Comme je n'ai pas trouvé de module pour faire cela sur le site de la doc ansible, j'ai décidé d'utiliser le module script en utilisant le module script.

Le problème est qu'ansible a du mal à exécuter le git pull appelé dans le script.

Quelqu'un sait-il comment lancer git pull/push avec ansible ?

Remerciements

24voto

ProfFalken Points 326

Module Git d'Ansible le fera pour vous en ce qui concerne le "pull", assurez-vous simplement que l'utilisateur qui exécute la commande a un accès basé sur la clé au repo git.

Vous pouvez spécifier l'utilisateur sous lequel la commande s'exécute en ajoutant le paramètre "sudo_user" à votre tâche :

- name: Get stuff from git
  git:
    repo: git@github.com:you/your-git-repo.git
    dest: /opt/git-stuff
  sudo_user: <your user that has the ssh key>

Véase https://docs.ansible.com/playbooks_intro.html pour plus d'informations sur l'utilisation de sudo_user.

8voto

Souvik Haldar Points 91

Il devrait être comme suit:-

tasks: - name: pull from git git: repo: git@gitlab.com:xyz.git dest: /root/Development/abc update: yes version: master

Note : Ici, l'utilisateur distant est root

0voto

Micromegas Points 11

Vous pouvez essayer ceci

- git:
    repo: 'https://foosball.example.org/path/to/repo.git'
    dest: /srv/checkout
    version: release-0.22

une documentation complète sur https://docs.ansible.com/ansible/latest/modules/git_module.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X