Файл конфигурации Ansible ‘ansible.cfg’ недоступен из текущего каталога

#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.