Команды не работают «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, но я не знаю, как его использовать в моем сценарии. Может ли кто-нибудь помочь?

1
задан 2 March 2016 в 10:37
1 ответ

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

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

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

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

Теперь Ansible видит , который , а не git в качестве команды.

4
ответ дан 3 December 2019 в 17:37

Теги

Похожие вопросы