Назад | Перейти на главную страницу

Команды не работают «with_item» в ansible playbook

Я новичок в ansible и пытаюсь написать простейший метод для резервного копирования mongodb. вот что я пытаюсь сделать:

---
- hosts: mongo
  tasks:
  - name: Mongo Dump
    command: mongodump --out mdb_backup/mongodb_backup/
  - name: MongoDb Backup 
    command: "{{item}} chdir=~/mdb_backup/mongodb_backup/"
    with_items:
     - pwd
     - git add
     - git commit -m "Updates"
     - git push origin master

И моя ошибка:

"warnings": ["Consider using git module rather than running git"]} [WARNING]: Consider using git module rather than running git

У меня есть представление о модуле ansible git, но я не знаю, как его использовать в моем сценарии. Кто-нибудь может помочь?

Это только предупреждение, ваш код должен работать.

Предупреждения иногда раздражают, потому что Ansible проверяет только некоторые простые строки, и не очень редко упомянутые модули Ansible (в данном случае git) не имеют функций, необходимых для этого. То же самое и здесь. Модуль git может только клонировать / проверять репозитории, но не может добавлять файлы, фиксировать или отправлять. Значит, вы здесь не делаете ничего плохого.

Чтобы избавиться от предупреждения, вы можете просто сделать это:

with_items:
  - pwd
  - `which git` add
  - `which git` commit -m "Updates"
  - `which git` push origin master

Теперь Ansible видит which и нет git как команду.