Quizás podría intentar usar Capifony, es una secuencia de comandos de implementación escrita en ruby
para la aplicación Symfony
. No he hecho ninguna configuración como la que está tratando de lograr, pero la utilizo para implementar ambos servidores de producción & por etapas. Se puede configurar para implementar diferentes instancias de la aplicación en un servidor (p. Ej .: directorios diferentes) o en varios servidores.
Una vez que están correctamente la instalación, despliegue es sólo una cuestión de tipificación:
cap server1 deploy
cap server2 deploy
Cada vez que se ejecuta el comando, capifony
tirará del último código desde el repositorio (por ejemplo: GIT), y desplegarlo. Como beneficio adicional, las versiones antiguas de la aplicación también se guardan en el servidor si necesita volver al estado anterior.
Aquí está el script de configuración capifony muestra sólo para darle una visión general:
# deploy.rb
set :application, "My App"
set :deploy_to, "/var/www/my-app.com"
set :domain, "my-app.com"
set :scm, :git
set :repository, "ssh-gitrepo-domain.com:/path/to/repo.git"
role :web, domain
role :app, domain
role :db, domain, :primary => true
set :use_sudo, false
set :keep_releases, 3
Y puede tener diferentes scripts de configuración, cada uno para un dominio diferente, utilizando la multistage extension para capifony
.
El probolem es cómo tener múltiples bases de datos y cambiar en función del dominio de cada cliente .. –
que tendría que añadir varios gestores de entidad (una para cada DB) (http://symfony.com/doc/current/cookbook /doctrine/multiple_entity_managers.html) y luego elija la correcta según el dominio al que se esté accediendo (busque eso en el objeto REQUEST. Si desea escalarlo, cree un servicio para hacerlo. Espero que esto ayude. – Xocoatzin