Как развернуть код из локального репозитория git на удаленный сервер, используя Ansible - PullRequest
0 голосов
/ 02 апреля 2019

Я использую Ansible 2.5. Мне нужно сделать код развертывания из локального (контроллера) Git репозитория на удаленном сервере.

Я пытался использовать Ansible-playbook с модулем git, который может развертывать код только из локального репозитория в другой локальный путь или из удаленного репозитория в другой удаленный путь. Он основан на конфигурации хостов.

- git:
    repo: /home/pi/Desktop/kk/Vue-Example/
    dest: /home/pi/Desktop/bb

Здесь repo будет локальный (контроллер-машина) путь к репозиторию git и dest будет удаленным местоположением машины.

1 Ответ

0 голосов
/ 02 апреля 2019

Вы неверно истолковали использование модуля git ansible. Он используется для клонирования удаленного репо по пути dest, т. Е. Либо на компьютере контроллера, либо на удаленных хостах. Вы указали локальный путь, который не существует для модуля git, поскольку git попытается отправить запрос http / ssh, а такой путь не существует.

Цитата значения репо от ansible:

repo: адрес протокола git, SSH или HTTP (S) репозитория git.

Если вы хотите клонировать на машине-контроллере причину использования ключей ssh, то вы можете использовать делегирование модуля git на localhost, а затем использовать модуль копирования для копирования с контроллера на удаленную машину

---
- name: play to checkout
  hosts: remote-hosts
  tasks:
    - name: git checkout
      repo: "{{ repo_url }}"
      dest: /tmp
      delegate_to: localhost
    - name: copy module
      synchronize:
        src: ...
        dest: ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...