#ansible
Вопрос:
Я использую Ansible 2.9. Мы настроили его с помощью виртуальной среды, поэтому у нас нет файла ansible.cfg.
Поэтому я создаю файл ansible.cfg в текущем каталоге, в котором хранится моя игровая книга.(чтобы следовать приоритету)
ANSIBLE_CONFIG (an environment variable)
ansible.cfg (in the current directory)
.ansible.cfg (in the home directory)
/etc/ansible/ansible.cfg
Проблема: Но когда я запускаю свой плейбук с помощью конвейера ADO, ansible.cfg не выбирается и показывает сообщение «Файл конфигурации не найден; используется по умолчанию».
Примечание: Я импортирую playbook из другого репозитория, и Playbook выполняется для развертывания приложений с помощью задачи azure devops ansible.
Поток: Код приложения содержит playbook, который импортирует playbook из репозитория под названием «R1» из каталога D1/common_play_book.yml и параллельно с этим playbook я создал файл ansible.cgf в стороне от каталога D1.
(Я пытался сохранить ansible.cgf в каталоге кода приложения, параллельно с учебником, который импортирует учебник из другого репозитория, но это также не работает)
я что-то здесь упускаю ? PS: Добавление дополнительных сведений о структуре
Application Repository called "app_repo"
1. azure-pipelines.yml --> Azure Devops Ansible task for devplyment use playbook defined at application side > app_platbook.yml (it imports centralized playbook playbook_from_lib.yml from other repo, all other apps are also using it)
2. Structure
my_app (root)
- app_playbook.yml
- azure-pipelines.yml
Centralized playbook repository called: "playbook_lib"
1. This is being imported at application side playbook (i.e in app_playbook.yml)
2. Structure
playbooks(root)
- spring-app-playbooks
- playbook_from_lib.yml
Затем я попробовал использовать переменную окружения ANSIBLE_CONFIG, которая также похожа на приведенную ниже на уровне playbook, но не сработала (здесь требуется экспорт, но какой путь я должен экспортировать здесь, поскольку мой ansible.cfg не находится в статическом расположении)
---
- name: Deploying an application
hosts: "{{ HOSTS }}"
force_handlers: true
gather_facts: false
environment:
ANSIBLE_CONFIG: "ansible.cfg"
Потому что я запускаю свой учебник из yml-конвейера azure devops с помощью задачи Ansible
Комментарии:
1. Каков ваш родительский рабочий каталог, из которого вы запускаете
ansible-playbook
? Просто хочу подтвердить, потому что я думаю, что он ищет ansible.cfg на основе вашего pwd, а не там, где находится playbook.2. Вы действительно запускаете playbook из
D1
каталога (т. Е.cd path/to/D1 amp;amp; ansible-plabyook whatever.yml
) ?ansible.cfg
должен быть в текущем каталоге, как точно указано в части документации, которую вы вставили выше.3. добавлена более подробная информация по всем этим вопросам, надеюсь, это поможет
4. Любая мысль / подсказка /предложение, пожалуйста
5. @Rickkwa Я предоставил информацию в описании. я старался сохранить свое ansible.cg параллельно обоим книгам воспроизведения (app_playbook.yml и playbook_from_ilb.yml), но он не работает и выдает одно и то же сообщение «Файл конфигурации не найден; используется по умолчанию» в моем конвейере при запуске playbook.