📜 Как клонировать репозиторий Git с помощью Ansible

by itisgood

При настройке удаленных серверов с помощью Ansible вы можете столкнуться с ситуацией, когда вам необходимо получить файлы из репозитория Git.

Это может быть пакет программного обеспечения из публичного репозитория или файлы конфигурации из частного репозитория.

Чтобы удаленно клонировать git-репозиторий с помощью Ansible, вы можете добавить в свой Playbook следующие записи.

---
 - hosts: all
   tasks:
   - name: Clone a github repository
     git:
       repo: https://github.com/sqlite/sqlite.git
       dest: /home/debian/repos/
       clone: yes
       update: yes

Не волнуйтесь.

Я объясню, что означают эти параметры и как это сделать, на примере!

Клонирование Git-репозиториев с помощью Ansible

Я предполагаю, что вы уже знакомы с основами Ansible, такими как инвентори, плейбуки и т.д.

Если нет, вы можете просмотреть нашу серию уроков по Ansible

Необходимые условия

На вашей локальной машине должен быть установлен Ansible.

Этот экземпляр Ansible выступает в качестве узла управления для всех удаленных узлов.

Используя хост управления, вы можете создавать плейбуки и таски для выполнения на указанных удаленных машинах.

Если вы решили следовать этому руководству, убедитесь, что у вас есть:

  1. Один управляющий узел и один удаленный узел.
  2. Пары ключей SSH. Открытый ключ управляющего узла должен быть доступен в файле authorized_keys на удаленных узлах.
  3. Пользователь с привилегиями sudo на удаленных узлах ( не root).
  4. Доступ на запись к каталогу на удаленном узле для хранения содержимого клонированного репозитория.

Настройка файла инвентори Ansible

.Прежде чем продолжить, необходимо настроить инвентаризации для Ansible.

Инвентари Ansible – это файл, содержащий информацию об удаленных серверах, которыми вы хотите управлять с помощью Ansible.

По умолчанию этот файл находится в /etc/ansible/hosts.

Создайте этот файл вручную, если он не создан.

Добавьте IP-адрес удаленного хоста в этот файл:

vim /etc/ansible/hosts

192.168.1.10

Сохраните файл.

Клонирование Git-репозитория с помощью Ansible плейбука

Теперь, когда у вас настроен файл инвентаризации и имеются SSH-ключи для доступа к удаленным узлам с узла управления, вы можете создать сборник Ansible Playbook.

Используя текстовый редактор, например Vim, создайте файл YAML.

vim clone.yaml

Отредактируйте файл и добавьте следующие записи.

---
 - hosts: all
   tasks:
   - name: Clone a github repository
     git:
       repo: https://github.com/sqlite/sqlite.git
       dest: /home/debian/repos/
       clone: yes
       update: yes

🐧 Как сохранить файл в Vi / Vim и выйти

🤾♂️ 8 способов выхода из текстового редактора Vim в Linux

В приведенном выше плейбуке вы начали с определения новой задачи и дали ей имя “Clone a GitHub repository”.

Далее вы используете модуль git, чтобы указать ссылку на репозиторий SQLite GitHub.

Затем вы определяете место назначения для клонированного репозитория.

Это локальный каталог на удаленной машине.

Вы устанавливаете атрибут clone в yes, чтобы клонировать репозиторий и обновить его с помощью атрибута update.

Чтобы запустить плейбук, используйте команду:

ansible-playbook clone.yaml

Если плейбук не работает из-за аутентификации SSH, вы можете указать имя пользователя с помощью флага -u:

ansible-playbook -u debian clone.yaml

После выполнения тасков вы должны получить репозиторий, клонированный в указанный каталог.

. С помощью этой информации вы сможете использовать Git-репозитории с Ansible в соответствии с вашими требованиями.

Если у вас есть вопросы или предложения, пожалуйста, оставьте комментарий в поле, расположенном ниже.

You may also like

Leave a Comment