Maison >développement back-end >tutoriel php >Comment déployer des applications Symfony avec Capify
Déployer votre application Symfony ne devrait pas être une corvée manuelle. Ce guide vous montre comment rationaliser le processus à l'aide de Capify, un puissant outil de déploiement construit sur Capistrano (familier aux développeurs Ruby). Nous couvrirons l'installation, la configuration et le dépannage.
Concepts clés:
Comment fonctionne Capifony:
Capifony exécute une série de commandes pendant le déploiement. Surtout, il utilise une disposition du répertoire structuré:
releases
: Chaque déploiement crée un nouveau répertoire ici, contenant une nouvelle copie de votre application. shared
: stocke les fichiers et les répertoires (par exemple, les téléchargements, les journaux, le fournisseur) qui persistent entre les déploiements. current
: Un lien symbolique pointant vers la dernière version réussie, en veillant à ce que votre serveur Web sert toujours la version correcte. Votre serveur Web doit pointer vers ce lien symbolique. Installation:
gem install capifony
capifony .
. Cela génère Capfile
et deploy.rb
. Choisissez une stratégie de déploiement (l'accès SCM côté serveur est détaillé ici). Configuration du projet (deploy.rb
):
Le fichier deploy.rb
a besoin de personnalisation. Voici un exemple de configuration, expliquant les paramètres clés:
<code class="language-ruby">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 </code>
Déploiement:
cap deploy:setup
(crée releases
et shared
répertoires). cap deploy
Dépannage:
ssh_options[:forward_agent] = true
. composer.json
et bower.json
. logger.level = Logger::MAX_LEVEL
à deploy.rb
pour une sortie détaillée. cap deploy:rollback
Questions fréquemment posées (FAQ):
La section FAQ de l'article d'origine fournit des réponses complètes aux questions de déploiement de la capify courantes, couvrant des sujets tels que les mises à jour de dépendance, la compensation du cache et les procédures de recul. Reportez-vous à cette section pour un dépannage détaillé et les meilleures pratiques.
Cette réponse révisée fournit une explication plus concise et organisée du déploiement de Capify, tout en conservant les informations essentielles et en résolvant les problèmes potentiels. N'oubliez pas d'adapter la configuration à votre environnement de projet et de serveur spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!