Ошибка Capistrano при развертывании на slicehost - PullRequest
3 голосов
/ 06 мая 2010

я пытаюсь развернуть приложение в slicehost, используя capistrano. Я могу войти через SSH, используя те же учетные данные, однако, когда я пытаюсь развернуть его, я получаю следующую ошибку:

  • выполняет `deploy '
  • выполняет `deploy: update ' ** транзакция: начало
  • выполняет `deploy: update_code ' обновление кэшированной проверки на всех серверах выполняется локально: "git ls-remote git@git.assembla.com: xxx.git master"
  • выполнение "if [-d / home / sdn / shared / cached-copy]; затем cd / home / xxx / shared / cached-copy && git fetch -q origin && git reset -q --hard 910a97024a45f1304d6b50c8862605ea0f1cf829 && git clean -q -d -x -f; еще git clone -q git@git.assembla.com: xxx.git / home / xxx / shared / cached-copy && cd / home / xxx / shared / cached-copy && git checkout -q -b deploy 910a97024a45f1304d6b50c8862605ea0f1cf829; fi " серверы: ["173.203.79.208"] *** [deploy: update_code] откат
  • выполняет "rm -rf / home / xxx / release / 20100506160548; true" серверы: ["173.203.79.208"] ** Исключение [deploy: update_code] при откате: Capistrano :: ConnectionError, сбой соединения для: 173.203.79.208 (Net :: SSH :: Disconnect: соединение закрыто удаленным хостом) Сбой соединения для: 173.203.79.208 (Net :: SSH :: Disconnect: соединение закрыто удаленным хостом)

Что я делаю не так? что-нибудь, что я должен добавить в мой файл deploy.rb, чтобы заставить его работать с slicehost?

Ответы [ 3 ]

1 голос
/ 10 августа 2012

У меня такая же проблема.

railsu@li:~/.ssh$ ls
authorized_keys

Я уже создаю файл .ssh в railsu и git. Но эта проблема также здесь.

Так что я не думаю, что эта ошибка - проблема аутентификации.

1 голос
/ 06 мая 2010

Имеет ли Slicehost разрешение на клонирование репозитория с вашего git-сервера? Если вашему git-серверу требуется ssh-аутентификация, вам нужно сгенерировать ssh-ключи на вашем хосте и поместить открытый ключ вашего хоста на ваш git-сервер.

Если это не так, то похоже, что это что-то еще, связанное с запуском git на вашем хосте. Но "(Net :: SSH :: Disconnect: соединение закрыто удаленным хостом)" пахнет как проблема аутентификации.

0 голосов
/ 07 мая 2010

Вы можете сгенерировать ключ на своем сервере, как предлагает Клинтон, или вы можете включить SSH Agent Forwarding.

Это означает, что вам не нужно будет генерировать новый SSH-ключ на вашем сервере. Вы используете ключ уже на машине, с которой вы развертываете, и ключ перенаправлен для использования на сервере для подключения к вашему git-серверу.

Вы можете добавить ssh_options[:forward_agent] = true к вашему рецепту capistrano или добавить конфигурацию хоста к вашему ~/.ssh/config следующим образом:

Host <name>
  HostName <ip or host>
  User <username>
  IdentityFile ~/.ssh/<filename>
  ForwardAgent yes

Я предпочитаю позже.

Существует очень подробное руководство по перенаправлению агента SSH на www.unixwiz.net

...