symfonyアプリケーションの展開は手動では雑用ではありません。 このガイドは、Capistrano(Ruby開発者に馴染みのある)に基づいた強力な展開ツールであるCapifonyを使用してプロセスを合理化する方法を示します。 インストール、構成、トラブルシューティングをカバーします
重要な概念:
capifonyは、展開中に一連のコマンドを実行します。 重要なことに、構造化されたディレクトリレイアウトを使用します:
:releases
:shared
:最新のリリースを指すシンボリックリンク。Webサーバーが常に正しいバージョンを提供するようにします。 あなたのWebサーバーは、このSymlinkを指す必要があります
current
Rubyがインストールされていることを確認してください capifony gem:
gem install capifony
capifony .
Capfile
ファイルにはカスタマイズが必要です。 キー設定を説明するサンプル構成は次のとおりです
deploy.rb
deploy.rb
deploy.rb
(
set :application, "YourAppName" set :domain, "yourdomain.com" set :deploy_to, "/var/www/yourdomain.com" set :app_path, "app" # Adjust if your app directory is different set :repository, "git@yourgitrepo.com:yourusername/YourAppName.git" # Your Git repository URL set :scm, :git set :model_manager, "doctrine" # Or "propel" role :web, domain role :app, domain, :primary => true set :keep_releases, 3 set :dump_assetic_assets, true set :use_composer, true set :shared_files, ["app/config/parameters.yml"] set :shared_children, [app_path + "/logs", web_path + "/uploads", "vendor", app_path + "/sessions"] # Adjust paths as needed # Server Configuration (adjust user and paths as necessary) set :use_sudo, false set :user, "yourusername" set :writable_dirs, ["app/cache", "app/logs", "app/sessions"] set :webserver_user, "www-data" # Your web server user set :permission_method, :acl set :use_set_permissions, true ssh_options[:forward_agent] = true # Often needed for Git access default_run_options[:pty] = true # Helpful for troubleshooting # Example: Add a task to run Bower before Assetic before 'symfony:assetic:dump', 'bower:install' namespace :bower do task :install do run "cd #{latest_release} && bower install" end end
展開:
cap deploy:setup
トラブルシューティング:releases
shared
ssh_options[:forward_agent] = true
を検討します
composer.json
bower.json
logger.level = Logger::MAX_LEVEL
をdeploy.rb
に追加します。cap deploy:rollback
よくある質問(FAQ):
元の記事のFAQセクションでは、依存関係の更新、キャッシュクリア、ロールバック手順などのトピックをカバーする一般的なCapifony展開の質問に対する包括的な回答を提供します。 詳細なトラブルシューティングとベストプラクティスについては、そのセクションを参照してください。
この改訂された応答は、重要な情報を保持し、潜在的な問題に対処しながら、より簡潔で整理された展開の説明を提供します。 構成を特定のプロジェクトとサーバー環境に適応させることを忘れないでください。以上がSymfonyアプリをCapifonyで展開する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。