2013-01-11 2 views
1

Je tente de déployer un projet symfony2 avec capifony.Erreur d'installation des éléments lors du déploiement de symfony2 avec capifony

je reçois l'erreur suivante:

--> Updating code base with rsync_with_remote_cache strategy 
--> Creating cache directory................................✔ 
--> Creating symlinks for shared directories................✔ 
--> Creating symlinks for shared files......................✔ 
--> Normalizing asset timestamps............................✔ 
--> Downloading Composer....................................✔ 
--> Updating Composer dependencies..........................✔ 
--> Building bootstrap file.................................✔ 
--> Updating Composer.......................................✔ 
--> Dumping an optimized autoloader.........................✔ 
--> Installing bundle's assets..............................✘ 
*** [err :: server.de] 
*** [err :: server.de] 
*** [err :: server.de] 
*** [err :: server.de] [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException] 
*** [err :: server.de] You have requested a non-existent parameter "secret". 
*** [err :: server.de] 
*** [err :: server.de] 
*** [err :: server.de] 
*** [deploy:update_code] rolling back 
failed: "sh -c 'sh -c '\\''cd /var/www/server.de/releases/20130111092102 && php app/console assets:install web --env=prod'\\'''" on server.de 

Mon deploy.rb

set :application, "Testproject" 
set :domain,  "server.de" 
set :deploy_to, "/var/www/server.de/" 
set :app_path, "app" 
set :user,  "username" 
ssh_options[:forward_agent] = true 

set :repository, "file:///home/kai/webprojects/testproject/.git" 
set :scm,   :git 
set :deploy_via, :rsync_with_remote_cache 
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `subversion`, `mercurial`, `perforce`, or `none` 

set :model_manager, "doctrine" 
# Or: `propel` 

role :web,  domain       # Your HTTP server, Apache/etc 
role :app,  domain       # This may be the same as your `Web` server 
role :db,   domain, :primary => true  # This is where Symfony2 migrations will run 

set :use_sudo,   false 

set :keep_releases, 3 
set :update_vendors, true 
set :shared_files,  ["app/config/parameters.yml"] 
set :shared_children,  [app_path + "/logs", web_path + "/uploads", "vendor"] 
set :use_composer, true 

exécutant manuellement: application php/actifs de la console: installer web --env = prod fonctionne sans erreurs

Éditer: En raison du commentaire de PéCé en raison de t il paramètre secret: Voici mon app/config/parameters.yml

parameters: 
    database_driver: pdo_mysql 
    database_host:  127.0.0.1 
    database_port:  ~ 
    database_name:  dbName 
    database_user:  dbName 
    database_password: secretPassword 

    mailer_transport: smtp 
    mailer_host:  localhost 
    mailer_user:  ~ 
    mailer_password: ~ 

    locale:   de 
    secret:   SomeSecret4465466 

    beryllium_cache.client.servers: { "localhost": 11211 } 

Merci pour vos idées

+0

Je ne sais pas Capifony mais le message indique qu'il n'y a pas de définition du paramètre « secret » (le sel commun pour les mots de passe) dans app/config/parameters.ini – AlterPHP

+0

Oui. Merci d'avoir fait remarquer cela. J'ai oublié de mentionner que le paramètre secret dans app/config/parameters.ini est défini. Je vais éditer la question. – rechengehirn

+0

Hm. Le paramètre secret est par défaut pour Symfony2. Mais d'une manière ou d'une autre, la définition n'est pas définie dans mon cas ... Hmmm. – rechengehirn

Répondre

1

J'ai trouvé la réponse. Il est clairement écrit dans la documentation capifony:

La dernière étape consiste à configurer votre fichier app/config/parameters.yml. La meilleure façon de le faire est de créer ce fichier dans le dossier partagé manuellement sur le serveur:

ssh your_deploy_server 
mkdir -p /var/www/my-app.com/shared/app/config 
vim /var/www/my-app.com/shared/app/config/parameters.yml 

Une fois votre fichier parameters.yml est correctement configuré, vous devriez être en mesure de tester votre application déployée. Lors de chaque déploiement ultérieur, ce même fichier app/config/parameters.yml sera symbolisé dans votre application, ce qui signifie que vous devrez seulement configurer après le déploiement initial.

Cest est :)

Questions connexes