Назад | Перейти на главную страницу

Git вытащить из битбакета с использованием ansible и jenkins

Привет всем, я новичок в ansible, я работаю над Ubuntu 16.04 и ansible 2.2, как вытащить репозиторий bitbucket на удаленный сервер с помощью ansible? Я подключился к хостам и могу пинговать или запускать простую команду, используя свой доступный для удаленного сервера, я пробовал этот метод клонирование частного репо на удаленном сервере но я получил эту ошибку:

"stderr": "Клонирование в '/home/deploy/test'...\nPermission denied (publickey). \ r \ nfatal: Не удалось прочитать из удаленного репозитория. \ n \ nУбедитесь, что у вас есть правильные права доступа \ nи репозиторий существует. \ n ",

Нужно ли мне сгенерировать ключ ssh из битбакета или вставить мой открытый ключ в битбакет? Как я уже сказал, я новичок, и это очень срочно, спасибо.

Лучшее решение - сгенерировать пару ключей на вашей рабочей станции, загрузить открытый ключ в битбакет и скопировать закрытый ключ пользователю, с которым вы выполняете клонирование git на целевом сервере. С помощью этого решения вы можете автоматизировать развертывание на нескольких серверах без создания новой пары ключей на каждом из них.

Вы можете указать ключевой файл с опцией key_file из Ansible модуль git

в общем, использование закрытого ключа не считается безопасным, потому что, если целевой сервер взломан, этот ключ раскрывается. Безопасная альтернатива - использование пересылки агента ssh из доступного экземпляра. таким образом, с помощью bitbucket необходимо зарегистрировать только доступный ключ, и он никогда не отображается на целевых хостах. взгляните на эту статью: https://www.jeffgeerling.com/blog/2018/cloning-private-github-repositories-ansible-on-remote-server-through-ssh если вы хотите знать, как добавить ключ ssh к ssh-агенту: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/