私はCapistrano 3.3.5(net-ssh 3.2.0と一緒に)を使ってDrupalアプリケーションをデプロイしようとしています。私の展開ワークステーションはgit-bashを実行しているWindowsです。私もssh-agentを起動し、私の秘密鍵のためにssh-addを実行しました。Capistrano git:wrapperがsshパスフレーズを要求し続ける
> 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
回のカップルを返す打った後、私はドライ実行ログを得ました。最初の数行は、このように見えた:
set :ssh_options, {:forward_agent => true}
変更なし:
$ 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文を追加するように調整しました。
私はcapistrano 3.5.0にアップグレードし、capistrano-statsをアンストールし、バージョンを3.5.0にロックしました。
> cap development deploy --dry-run
私が得た:wrapperタスク面倒かもしれません:
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
これはGitがいることを教えてくれました。それから私は走った:
> 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
は、この時点では、gitのようになります:wrapperタスクが動作していないとステップ2は、このたStringIOを持っているので、それは次のようになります事、それで、実際のBashコマンドの代わりにRubyのオブジェクトIDのように見えます。それとも別のものかもしれない。
これを回避する方法はありますか。私の配置で誤って自分のパスワードを入力しないようにしていますか?
私が問題の2行目で言ったように、私はそれを行い、それでも動作しませんでした。 –
パスワードを尋ねられた場合、実際に動作しているsshエージェントはありません。それで、私はあなたがWindowsを使っていることを見落としていました。私の考えでは、すべてのベットはそのOS上で行われていないので、何が問題なのか分かりません。 –
それは良くなる。私はLinux上で実行し、それは働いた。 :( –