Я создаю приложение node.js, которое служит веб-крюком для Github, который автоматически разворачивает определенное частное репо при вводе изменений. Чтобы сделать приложение webhook настолько эффективным, насколько это возможно, я хочу клонировать и вытаскивать частное репо во временный каталог в экземпляре Heroku моего веб-хостинга при его развертывании, так что, когда срабатывает webhook, мне нужно только «git pull», чтобы получить последние обновления и развертывания. Достаточно просто запустить сценарий оболочки, когда приложение webhook развернуто (с использованием package.json или Procfile), но прежде чем запускать git-команды, я должен установить закрытый ключ развертывания. В настоящее время частный и открытый ключ находятся в моем реестре webhook (я знаю, я знаю, как только я его заработаю, я сделаю лучше), поэтому я попытался установить его, добавив это в свой сценарий оболочки (который был предложен here)Установка личных ключей ssh для развертывания на Heroku
mkdir /app/.ssh
cp config/ssh/* /app/.ssh/
mkdir /tmp/repos
git clone --bare ssh://github.com/<username>/<repo>.git /tmp/repos/<repo>
, но я получаю:
инициализирован пустой репозиторий Git в TMP/хранилищу/активов/ проверки ключа/хоста не удалось. со смертельным исходом: Удалёнными повесил трубку неожиданно
Открытый ключ был добавлен в качестве ключа развертывания в репо я вытягивать, поэтому мои вопросы:
- Может ли я устанавливать закрытый ключ в правильном каталоге?
- В личном ключевом файле должно быть определенное имя?
- Этот подход даже возможен/рекомендуется?
- Если нет лучшей альтернативы?
Спасибо!
Хит ту же проблему слишком http://stackoverflow.com/questions/29604202/heroku-pulling-from-a-private-git-repository-using-a-custom-ssh-key –