@HighMan

Ansible как правильно написать цикл команд?

Здравствуйте, товарищи!
В Ansible я не силен. Сейчас только в процессе изучения,
Задача: выполнить несколько команд в цикле. Часть команд повторяется. Приведу команды:
psql -U postgres -c "CREATE USER user_name"
psql -U postgres -c "CREATE DATABASE dn_name OWNER user_name"
.......
Т.е. первая часть команды константа: psql -U postgres -c изменяются только запросы.
Можно, разумеется, решить в лоб:
- name: Create user
command: psql -U postgres -c "CREATE USER user_name"
.....
Еще, как я понял, в ansible есть плагин для работы с postgresql, но для моих задач, на мой взгляд, это лишнее. Или я не прав?
Еще, разумеется, можно просто закинуть скрипт на bash который все это сделает в лучшем виде.
Как бы вы подошли к решению?
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ответы на вопрос 4
@zohan1993
devops
- hosts: 127.0.0.1

  tasks:

    - name: test
      shell: echo {{ item }} >> /tmp/test.txt
      with_items:
        - "1"
        - "2"
        - "3"
        - "4"
        - "5"
Ответ написан
@MaxKozlov
Я бы рекомендовал воспользоваться специализированным инструментом, а не shell
https://docs.ansible.com/ansible/latest/collection...
https://docs.ansible.com/ansible/latest/collection...
ну и цикл через loop/with_items
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Есть модуль постгреса через него и надо делать, нафига городить ваш говно костыль? Его и поддерживать сложнее и вникать, когда есть стандартное элегантное решение их коробки
Ответ написан
Комментировать
@voleg4u
http://www.voleg.info/
Главное при написании ансибля - подумать, а что будет если его прогонять больше одного раза ?
В идеале, если система уже в нужном состоянии, он не должен ничего запускать или перезапускать.
Если весь ансибль это шелл комады - просто пишите скрипт и на парьтесь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы