2014-09-21 4 views
1

Я знаю, что это было задано раньше, но я не мог найти решение, которое не включало публичный репозиторий и/или использование https с паролями в URL-адресах (вместо ssh с ключами) ,Openshift SSH error клонирование подмодулей из частного репо

Моя проблема в основном то же самое, чем описано здесь: https://www.openshift.com/forums/openshift/gitssh-in-bashprofile-not-working-for-git-push-and-causes-error-cloning-submodules

Короче есть один подмодуль и один основной приложение и хранятся в частных GIT репозитории на GitHub. При открытии сбой развертывание не выполняется, когда экземпляр пытается обновить подмодуль из-за проблем с аутентификацией SSH.

Следуя приведенной рекомендации по потоку, я попытался установить оболочку для git с ключами и файлами know_host в каталог данных корневого каталога и установить переменную среды GIT_SSH (используя .bash_profile, rhc set-env, pre_build hook или Steven Merrill GIT SSH). Он отлично работает, когда вы используете ssh в машине, но при выполнении развертывания не выполняется, как если бы GIT_SSH использовал значение по умолчанию, а не новое.

Мои вопросы:

  1. В любом случае я получаю установить GIT_SSH, который будет использоваться в любое время, не только тогда, когда я SSH в машине?
  2. В любом случае я могу отключить обновление подмодуля git --init --recursive, чтобы позже запустить его через скрипт?
  3. Почему открытые ключи SSH не видны и known_hosts не могут быть записаны в Openshift?

Спасибо вам за помощь!

EDIT: То же самое, когда я использую SSH в машине и выполняю «разводку HEAD», используется /var/lib/openshift//.ssh/known_hosts вместо/var/lib/openshift // app-root /data/.ssh/known_hosts

ответ

0

Моя догадка на вопросы:

  1. Я не думаю так: для этого потребуется установка переменной в профиле Баш, но не доступен для редактирования. Я попытался с rhc evn set команды, но it did not work
  2. не один, что я знаю
  3. Я думаю, что это по соображениям безопасности. Пользователи могут писать только $ OPENSHIFT_DATA_DIR

Однако, вернемся к вашему вопросу источника, я думаю, что вы можете использовать тот же метод, который я использовал в Openshift: how to install python modules from private repository?.

Решение, которое я нашел, не является оптимальным, но по крайней мере мне не нужно использовать пары логин/пароль для доступа к моим частным репозиториям.

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