Поиск по сайту:

Наши слабости нам уже не вредят, когда мы их знаем (Г. Лихтенберг).

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

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
4 июля 2021
Краткое руководство: Как установить и настроить ansible в Linux для автоматизации
При настройке удаленных серверов с помощью 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 действует как управляющий узел для всех удаленных хостов. Используя узел управления, вы можете создавать playbooks и задачи для выполнения на указанных удаленных машинах.

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

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

 

Настроить Ansible Inventory

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

По умолчанию файл находится в папке /etc/ansible/hosts. Создайте этот файл вручную, если он не закрывается.

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

vim /etc/ansible/hosts

 

 

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

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

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

vim clone.yaml

 

Читать  Проблемы с практикой Python. Приготовьтесь к следующему собеседованию. Анализатор журнала. Часть 3

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

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

 

В приведенном выше сценарии вы начали с определения новой задачи и дали ей имя «Clone a github repository».

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

Затем вы переходите к определению места назначения для клонированного репозитория. Это локальный каталог на удаленном компьютере.

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

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

ansible-playbook clone.yaml

 

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

ansible-playbook -u debian clone.yaml

 

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

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

Это должно дать вам хорошее представление о клонировании репозитория Git с помощью Ansible. Обладая этой информацией, вы сможете использовать репозитории Git с Ansible в зависимости от ваших требований.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close