Настройка частного доступа к Github с помощью контейнера AWS Elastic Beanstalk и Ruby
Проходя мимонедавний учебник при настройке AWS Elastic Beanstalk для развертывания Ruby с использованием Git я просто настроил среду Elastic Beanstalk со своего CI-сервера. Однако приложение не удалось запустить. Я просмотрел логи и обнаружил, чтоbundle install
не удалось с сообщением об ошибке.
Загрузка [email protected]: example / private-repository.git Ошибка проверки ключа хоста. фатально: удаленный конец неожиданно зависает [ошибка 31mGit: командаgit clone '[email protected]:example/private-repository.git' "/var/app/ondeck/vendor/cache/ruby/1.9.1/cache/bundler/git/private-repository-e4bbe6c2b13bb62664e39e345c1b01d80017934c" --bare --no-hardlinks
в каталоге / var / app / ondeck не удалось. [0m
Gemfile
моего приложения Rails содержит ссылки на плагины с самоопределением, размещенные в паре моих собственных частных репозиториев на Github. Что-то вроде
жемчужинаsomegemname»,: git => '[email protected]: пример / частный repository.git»
Я сталкивался с подобными проблемами при развертывании Capistrano, которые были решены путем настройки.ssh_options[:forward_agent] = true
Контейнер AWS Elastic Beanstalk Ruby поддерживает пользовательскую настройку через пользовательские.config
файлы, размещенные под.ebextensions
, Поможет ли в этом случае настройка форвардного агента SSH? Существуют ли другие альтернативы для доступа к частному репозиторию Github при запуске среды Elastic Beanstalk?
Обновление 1: я только что проверил пользователя, с которымbundle install
инициируется. Обнаружил, что скрипт/opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh
начинаетсяbundle install
какroot
пользователь. Я попытался создать ключ SSH под/root/.ssh
и добавил этоs pub-key для Github Развернуть ключи для этого хранилища. Пока не повезло. Теперь попробую добавить паб-ключ SSH в мою учетную запись пользователя на Github, чтобы он применялся ко всем частным репозиториям, доступным через мою учетную запись Github.