0

Symfony 2 アプリケーションを Capifony 経由で Debian サーバーにデプロイしています。アプリケーションのメイン リポジトリは非公開ですが、composer のインストールを介していくつかの非公開リポジトリも含めています。これが問題を引き起こしています。

メインリポジトリは問題なく複製されています。公開鍵のセットアップ、scm:passphrase:定義を含むパスフレーズのセットアップ、およびパスフレーズの自動入力を有効にする次の行があります。

default_run_options[:pty] = true

ベンダーをインストールするとき、プロジェクトに必要なプライベート リポジトリにパスフレーズが必要です。これは、リポジトリへの接続を許可するための秘密/公開キーが既にあるためです。以下を返します。

** [out :: 106.187.50.216] Cloning master
** [out :: 106.187.50.216] Enter passphrase for key '/home/deploy/.ssh/id_rsa':

これが表示されたら、パスフレーズを入力できませんout。パスフレーズを共有しているcomposer.phar installと思いますが、同じ Capifony 設定を使用していないようです。

4

2 に答える 2

0

回避策として、展開にはパスワードなしのキーを使用する必要があります。これをgithubのデプロイキーとして設定するか、必要ないくつかのリポジトリへの読み取り専用アクセス権を持つ新しいアカウントを作成できます。そうすれば、そのキーの紛失に伴うリスクをあまりかけずに便利になります。

今、適切な解決策のために、私は何が必要かわかりません。作曲家に関する問題を開くことができ、そこでさらに議論します。基本的に問題は、composerが通常のgit cloneコマンドを使用することであり、特別なことは何もありません。capifonyは、最初のプロジェクトチェックアウトでキーのロックを解除するために特別なことを行うと思います。

于 2012-07-13T08:41:31.430 に答える
0

Capistrano/capifony はリアルタイムで出力を処理します。Git がパスワードの入力を求める場合、パスフレーズと同じようにユーザーのパスワードが自動的に表示されます。Capistrano の Git クラスで確認できるように、これは Capistrano の一部です: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy/scm/git.rb#L255

パスワードを使用しない戦略を使用するか、ssh-agent を使用できると思います。

于 2012-07-13T08:57:01.307 に答える