Я пытаюсь развернуть приложение Drupal с помощью Capistrano 3.3.5 (вместе с net-ssh 3.2.0). Моя рабочая станция для развертывания - это Windows, запускающая git-bash. Я также запустил ssh-agent и запустил ssh-add для своего закрытого ключа.Capistrano git: wrapper продолжает запрашивать sph passphrase
Тогда я побежал:
> cap development deploy
И попросил у меня пароль для моего секретного ключа.
Enter passphrase for C:/Users/jgodse/.ssh/id_rsa: my_password
Когда я набрал «my_password» в качестве пароля для пароля SSH, он повесил трубку. Я сделал CTRL-C, а затем сказал:
bash: my_password: command not found
Тогда я попробовал:
> cap development --dry-run
После удара вернуться пару раз, я получил журнал всухую. Первые несколько строк выглядит следующим образом:
$ cap development deploy --dry-run
There was a problem tracking statistics, please report to https://github.com/capistrano/stats
INFO [4b085395] Running /usr/bin/env mkdir -p /tmp/myapp/ as [email protected]
DEBUG [4b085395] Command: /usr/bin/env mkdir -p /tmp/myapp/
INFO [b5f607a2] Running /usr/bin/env #<StringIO:0x3b9e4d0> /tmp/myapp/git-ssh.sh as [email protected]
DEBUG [b5f607a2] Command: /usr/bin/env #<StringIO:0x3b9e4d0> /tmp/myapp/git-ssh.sh
INFO [c0895cc9] Running /usr/bin/env chmod +x /tmp/myapp/git-ssh.sh as [email protected]
Тогда я поправил Capfile добавить заявление:
set :ssh_options, {:forward_agent => true}
Без изменений.
Затем я обновился до capistrano 3.5.0 и не установил capistrano-статистику и заблокировал версию до 3.5.0.
> cap development deploy --dry-run
я получил:
00:00 git:wrapper
01 mkdir -p /tmp/myapp/
02 #<StringIO:0x28c7238> /tmp/myapp/git-ssh.sh
03 chmod +rx /tmp/myapp/git-ssh.sh
Это сказал мне, что мерзавец: задача обертка может быть хлопотно. Тогда я побежал:
> cap development git:wrapper
я получил:
00:00 git:wrapper
01 mkdir -p /tmp/myapp/
Enter passphrase for C:/Users/me/.ssh/id_rsa:
я получил тот же результат, как и раньше, когда я ввел пароль. Тогда я сделал:
> cap development git:wrapper --dry-run
я получил:
00:00 git:wrapper
01 mkdir -p /tmp/myapp/
02 #<StringIO:0x28e2448> /tmp/myapp/git-ssh.sh
03 chmod +rx /tmp/myapp/git-ssh.sh
На данный момент это выглядит как мерзавец: задачи обертки не работает, и это может быть потому, что шаг 2 имеет этот StringIO: вещь в нем, который выглядит как идентификатор объекта Ruby вместо фактической команды Bash. Или это может быть что-то другое.
Есть ли способ обойти это, чтобы мое развертывание не ошибочно просило меня ввести пароль?
Как я уже сказал во второй строке проблемы, я сделал это, и это все еще не сработало. –
Если он запрашивает ваш пароль, у вас нет агента ssh, который действительно работает. С учетом сказанного я упустил из виду, что вы используете Windows. На мой взгляд, все ставки отключены на этой ОС, поэтому я понятия не имею, в чем проблема. –
Все становится лучше. Я запускал его на Linux, и это сработало. :( –