Использование локального репозитория git с Ansible Tower - PullRequest
0 голосов
/ 16 февраля 2020

Я успешно настроил Ansible Проект Tower для извлечения из удаленных репозиториев git, а также извлечения из локального репозитория с использованием s sh и сохраненных учетных данных (ключей). На этом сервере вход в систему с sh для доступа к git недопустим, поэтому я пытаюсь настроить Ansible Tower для использования локального git репозитория; не используется git: или s sh: протокол для доступа, просто доступ к нему через файл: ///path/to/AnsibleTower.git

Попытка функции обновления проекта Ansible Tower пытается в 'git клон', но выдает ошибку:

        "fatal: Could not read from remote repository.",
        "Please make sure you have the correct access rights",
        "and the repository exists."

И это показывает, что это команда, которая использовалась для попытки клонирования:

"cmd": "/usr/bin/git clone --origin origin file:///path/to/AnsibleTower.git/ /var/lib/awx/projects/_114__00_test"

Когда я выполняю Выше команды непосредственно на сервере, как пользователь awx, я не получаю ошибки, и клон работает. Я вижу, что команды git выполняются с пользователем awx, когда Tower пытается обновить (наблюдая за процессом ps). Пользователь awx владеет каталогом AnsibleTower. git и всем, что в нем есть.

Причина, по которой это важно, и причина, по которой я пометил этот 'ansible -inventory', заключается в том, что используется SCM-резервная копия Проект, кажется, единственный способ импортировать / синхронизировать текстовый инвентарь в Tower. Я действительно хотел бы избежать повторного создания / обновления моего инвентаря с помощью веб-интерфейса Tower; Я хочу, чтобы это также отслеживалось в SCM.

Я даже зашел так далеко, что предоставил всем пользователям доступ к каталогу. git (временно); это тоже не сработало, похоже, это не проблема с правами пользователя.

1 Ответ

0 голосов
/ 16 февраля 2020

Вы можете опустить файл: // в начале источника. Все локальные репозитории не нуждаются в этом, и некоторые ОС не могут обрабатывать файл: // uri для локальных файлов / каталогов

...