問題タブ [capifony]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - capistrano および symfony2 の bin/vendors インストールで、エージェントが転送した ssh キーを使用できない
ssh エージェント転送を使用して、Symfony2 プロジェクトをサーバーにデプロイします。これは問題なく動作し、capistrano を使用して github から git clone などを実行しても問題はありません。
ただし、Symfony2 の場合、bin/vendors install を実行して最新の dep を取得する必要があります。このベンダー スクリプト ( https://github.com/symfony/symfony-standard/blob/2.0/bin/vendors ) は、git pull のような「system()」コマンドを実行する php スクリプトです。
capifony (capistrano と symfony のアドオン) では vendors コマンドが実装されており、try_sudo を使用するように少し変更しました。これは、独自のホスティング プラットフォームのために必要な変更です。これは、github からの公開 https:// URL に最適です。
try_sudo "sh -c 'cd #{latest_release} && #{php_bin} bin/vendors install'"
私たちが直面している問題は、git@github.com 形式を使用している場合 (一部のプライベート リポジトリに必要であり、バンドルを変更して変更をプッシュ バックする場合)、ssh-agent を使用できないため、転送されたキーが見つからないことです。許可拒否エラーが発生します。
- https:// 形式への切り替えは簡単に解決できるように思えますが、プライベート リポジトリではパスワードが要求されます。
- system() コマンドで ssh-agent を起動すると機能しましたが、キーがまだありません。
そのため、これ以上何を探すべきかわかりません。ssh-agent を php ベンダー スクリプトに渡す方法はありますか?
更新:
セキュリティ上の理由から、sudoはすべての環境変数を削除するため、既存のsshエージェントに接続することはできません。
https://serverfault.com/questions/107187/sudo-su-username-while-keeping-ssh-key-forwardingで、エラーと解決策の両方を見つけました。Defaults env_keep+=SSH_AUTH_SOCK を /etc/sudoers に追加し、sudo を実行しているユーザーがアクセスできるようにエージェント ソケットを chmod することで、ssh エージェントを維持できます。
ただし、スレッドを注意深く読んでください。そうするのは安全ではありません。ログアウトするとエージェントが破棄されるため、信頼できないユーザーのいないサーバーと組み合わせたカピストラーノ展開シーケンスでは、許容できると思います。私が間違っていなければ?
capistrano - デプロイ中の Capifony エラー (OpenSSL::PKey::PKeyError: 公開鍵 "/var/www/.ssh/id_rsa.pub" ではありません)
このエラーが発生し続けます(OpenSSL::PKey::PKeyError: not a public key "/var/www/.ssh/id_rsa.pub")
前もって感謝します。
私の deploy.rb は次のようになります。
symfony1 - Capifony Deploy には、内部ベンダー ファイルのパスフレーズが必要です
Symfony 2 アプリケーションを Capifony 経由で Debian サーバーにデプロイしています。アプリケーションのメイン リポジトリは非公開ですが、composer のインストールを介していくつかの非公開リポジトリも含めています。これが問題を引き起こしています。
メインリポジトリは問題なく複製されています。公開鍵のセットアップ、scm:passphrase:
定義を含むパスフレーズのセットアップ、およびパスフレーズの自動入力を有効にする次の行があります。
ベンダーをインストールするとき、プロジェクトに必要なプライベート リポジトリにパスフレーズが必要です。これは、リポジトリへの接続を許可するための秘密/公開キーが既にあるためです。以下を返します。
これが表示されたら、パスフレーズを入力できませんout
。パスフレーズを共有しているcomposer.phar install
と思いますが、同じ Capifony 設定を使用していないようです。
php - cap deploy:setup タスクを上書きする方法はありますか?
それらを上書きするための capifony/capistrano タスクはどこにありますか。
cap deploy:setup を実行するときにそれを変更して、サーバー構造に対応するためのシンボリックリンクを追加する必要があります。それは可能ですか?または、少なくともこれを行うための新しいタスクを作成します。
ubuntu - capifonyのキーファイルで認証するには?
capifony をセットアップしようとしています。これを使用して
ssh -i keyfile.pem username@servername.com
、コンソールからサーバーで認証しています。これに capifony を設定するにはどうすればよいですか?
capifony - カピフォニーとシンフォニー。deploy はファイルを作成しません
私はしばらくそれで苦労してきました。capifony の下で $ cap deploy:setup を実行すると、リモート ホストに 1/releases 2/shared という 2 つのファイルが作成されます。これは、これまでのところすべてが完璧に機能していることを示していると思います。
しかし、デプロイを開始すると、次のエラーが発生しました。
リリースには何もコピーされていないようです。共有にたくさんコピーされます(たぶん全部) 普通かどうかわかりません。
どうすれば問題を解決できるかアドバイスをいただけますか?どこでヒントを探せばいいでしょうか。私は手がかりがありません..どうもありがとう。
PS: 以下は私の deploy.rb ファイルです
javascript - assetic:dump プロセスのタイムアウトによる Capifony デプロイの失敗をデバッグするにはどうすればよいですか?
失敗しています。これは失敗した出力のスニペットです
コマンドをローカルで実行しましたphp app/console assetic:dump web --env=prod
が、問題はありません。
また、関連するコンパイル済みの JS ファイルを JSLint で確認しましたが、エラーはありませんでした。
問題のJSファイルをテンプレートに埋め込む方法は次のとおりです
問題がどこにあるのかを理解する方法がわかりません。過去に、;
yui_js が動かなくなったり、抜けたりすることがありましたが、他に何を試せばよいか思いつきません。
php - バンドルを含まない symfony2 での Capifony のデプロイ
symfony2 プロジェクトを amazon ec2 にデプロイしようとしていますが、カスタム バンドルがデプロイされていないようです。
次のエラーが表示されます。
PHP 致命的なエラー: クラス 'MyCompany\MainBundle\MainBundle' が /var/www/html/releases/20120901100611/app/AppKernel.php 行 20 に見つかりません
すべてのベンダー バンドルがインストールされます。私のエラーは何ですか?
symfony - Symfony2制約クラスが見つかりません
ローカルマシンの開発環境ではすべて問題ありません。ただし、新しいステージングサーバーでは、登録ページでのみエラーが発生します(私が見る限り):
PHPの致命的なエラー:クラス'Symfony \ Component \ Validator \ Constraints\notNull'が/var/ www / sf-ysu / shared / vendor / symfony / symfony / src / Symfony / Component / Validator / Mapping / Loader/AbstractLoaderに見つかりません。 63行目のphp
展開にはcapifonyを使用します。つまり、ベンダーディレクトリは別の場所にシンボリックリンクされています。これはそれと関係があるかもしれませんが、私にはわかりません。
誰か手がかりがありますか?