Las preguntas acerca de tareas por defecto despliegan en Capistrano para el proyecto PHP y config.php

StackOverflow https://stackoverflow.com/questions/1153032

Pregunta

Estoy teniendo un día completo la comprensión del uso de Capistrano. ¿Es realmente una buena herramienta que me va a ahorrar mucho tiempo. En realidad estoy con ganas de usarlo para desplegar una de mis muchas aplicaciones PHP:)

Si tengo un config.php con un $ env = "desarrollo" variable. ¿Hay alguna manera de hacer Capistrano cambiar esta variable para mí "producción" en su lugar? O debería olvidarse de él y enlazar simbólicamente a compartir?

aplausos Guillermo

¿Fue útil?

Solución

Me gusta mantener dichos archivos de configuración separados - que hace que sea más específica y explícita. Cómo éstos se mantienen separados y se despliegan está a su propia discreción. He tenido resultados bastante positivos por ramificación mi código para el desarrollo, puesta en escena, y vivo -., Pero también he visto situaciones en las que se fusionan en una de una rama externa (es decir, tres veces) es una pesadilla completa en proyectos más grandes

Como alternativa, es posible que tenga config.php, config.php.live, etc -. Pero esto requiere mantenimiento manual

Sus millas serán obviamente variar, mis archivos de configuración tienden a tener más de una variable que difieren entre los despliegues, y como tal, esta arquitectura adicional paga por sí mismo.

Si lo hace todavía quiere hacerlo con Capistrano - se puede usar sed para cambiar esa línea utilizando una expresión regular:

sed -i 's/$env=\"development\"/$env=\"production\"/' config.php

Obviamente, una vez que se ejecuta este se despliega el archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top