Истекает время ожидания

На сервере я могу успешно выполнить следующее:

ssh-agent bash -c 'ssh-add /path/key; git clone https://repo_path/repo_name.git'

Репо клонируется в 'repo_name'

Однако, когда я запускаю следующий скрипт ansible (2.2) на локальном компьютере, задача клонирования останавливается на неопределенное время

- name: clone or pull latest web app code
  git: repo=https://repo_path/repo_name.git dest=/home/user/repo_name
     key_file=/path/key
     accept_hostkey=yes
     force=yes

Другие задачи до клонов работают нормально (обновление, установка библиотеки и т. Д.)

Я использую следующее, чтобы проверить правильность путей, и они кажутся в порядке:

- debug:
    msg: "about to clone code {{ code_repository }} to {{ base_dir }}"

Есть идеи?

1 ответ

Решение

Замечания: ssh-add /path/key а также git clone https://repo_path/repo_name.git не иметь ничего общего друг с другом.
ssh-add /path/key предназначен для добавления частного SSH-ключа, защищенного парольной фразой, в ssh-agent, чтобы кэшировать эту фразу-пароль, когда она понадобится для URL-адреса SSH.
А также https://repo_path/... URL-адрес HTTPS, то есть для него не требуется ключ SSH. Совсем.

В модуле ansible git упоминаются:

accept_hostkey

если да, убедитесь, что -o StrictHostKeyChecking=no "присутствует как опция ssh.

Опять же, URL-адрес HTTPS, поэтому он не нужен.

Попробуй и удали key-file а также accept_hostkey, чтобы увидеть, может ли клон HTTPS продолжаться.


Для URL-адреса SSH вам необходимо убедиться, что:

Другие вопросы по тегам