2016-04-16 3 views
2

я пытаюсь построить мое приложение Node JS (последняя версия) в Дженкинс в среде Red Hat OpenShift, но она продолжает терпеть неудачу с этим сообщением в Дженкинс войти:OpenShift Дженкинс мерзавец клон не удается: ключ хоста проверки не удалось

Host key verification failed. 
fatal: Could not read from remote repository. 

При дальнейшем исследовании выясняется, что сервер Jenkins не может клонировать репозиторий с сервера приложений:

[JENKINS_HOST test]\> git clone ssh://[email protected]_HOST/~/git/sof.git 
    Cloning into 'sof'... 
    The authenticity of host 'APP_HOST (172.16.6.220)' can't be established. 
    RSA key fingerprint is cf:ee:77:cb:0e:fc:02:d7:72:7e:ae:80:c0:90:88:a7. 
Are you sure you want to continue connecting (yes/no)? yes 
    Failed to add the host to the list of known hosts (/var/lib/openshift/GUID/.ssh/known_hosts). 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights and the repository exists. 

Я не могу даже войти в каталог .ssh на хосте Дженкинс.

Примите это решение для управления приложениями OpenShift, которое должно обрабатывать все закрытые ключи между приложением и хостом CI, но, похоже, не работает.

Любые идеи?
Я искал по всей сети, но сценарии OpenShift не являются общими.

ответ

0

Если вам не нужно фиксировать изменения protocol до http, и вам не нужно будет использовать ключи ssh, поскольку он должен быть доступен только для чтения, если ваш сервер разрешает вам и поддерживает этот протокол.

Если вы должны использовать ssh, вы должны настроить ssh-ключи. Невозможно «пропустить» его.

+0

Знаете ли вы, как сбросить все ключи ssh с помощью инструмента rhc? И как развернуть их на соответствующие хосты? – Mirek

+0

Нет, извините. :-( – CodeWizard

+0

Но вы не можете пропустить шаг установки ключей ssh, если вы не измените URL-адрес клона. – CodeWizard

1

Это можно сделать с помощью пользовательского картриджа https://cartreflect-claytondev.rhcloud.com/reflect?github=smerrill/openshift-community-git-ssh Картридж создает скрипт и устанавливает переменную среды GIT_SSH для запуска git-ssh без проверки строгого ключа хоста.

Так,

  1. Установите картридж с OpenShift веб-консоли приложения Дженкинс (Приложения/Jenkins/«Или, увидеть весь список картриджей вы можете добавить», поставить ссылку в «Установить собственный картридж»поле)
  2. Подключение к Дженкинс приложений через SSH: SSH @ jenkins-.rhcloud.com
  3. кд $ {OPENSHIFT_DATA_DIR}/ГИТ-SSH/
  4. SSH-кейген
    4.1. Установить файл ключа ./id_rsa
    4.2. Оставьте пароль пустым
    Это создает файлы id_rsa и id_rsa.pub в $ {OPENSHIFT_DATA_DIR}/ГИТ-SSH/каталог
  5. Распечатайте id_rsa.pub: кот id_rsa.pub
  6. Скопируйте содержимое id_rsa.pub
  7. в веб-консоли OpenShift перейдите в раздел Настройки, добавить новый ключ
  8. Заполните имя ключа общественности и вставьте содержимое id_rsa.pub на второе поле, нажмите кнопку «Создать» приложение
  9. Restart Дженкинс

Теперь git-клон должен быть в порядке

+0

Привет, Олег, попробовал ваш рецепт, но пришел к той же ошибке: 'Не удалось добавить хост в список (/var/lib/openshift/571545187628e1fc39000022/.ssh/known_hosts). Разрешение отклонено (publickey, gssapi-keyex, gssapi-with-mic). Не удалось добавить хост в список известных хостов (/var/lib/openshift/571545187628e1fc39000022/.ssh/known_hosts). Разрешение отклонено (publickey, gssapi-keyex, gssapi-with-mic). фатальный: не удалось прочитать из удаленного репозитория. – Mirek

+0

Извините за то, что вы в автономном режиме в течение длительного времени. Какова ценность вашей переменной среды GIT_SSH? (Подключитесь к приложению через ssh, вызовите «echo $ GIT_SSH».) Кажется, картридж установлен неправильно. –

+0

Привет, Олег, это результат этой команды: '/ var/lib/openshift/571545187628e1fc39000022/gitssh/usr/bin/git-ssh' – Mirek

Смежные вопросы