Soy parte de un equipo de desarrollo que trabaja en muchos proyectos basados en CMS, usando sistemas como Joomla y Drupal.Cómo implementar: cambios de base de datos, fuente y binarios en 1 parche
En nuestro proceso de desarrollo, todos nuestros cambios de código se gestionan dentro de Git. Al final de un sprint, creamos un DIFF que podemos aplicar a través del parche al sitio en vivo.
El problema es que la mayoría de las veces, los cambios incluyen
- base de datos Cambios en el esquema
- Base de Datos de cambios de datos
- Código Fuente cambia
- cambios en los archivos binarios (como imágenes)
Git Diff maneja el código fuente cambia maravillosamente. Los archivos binarios solo no están incluidos en el Diff, excepto por la referencia al hecho de que los archivos han cambiado.
Cambios en el esquema de la base de datos y los cambios en los datos de la base de datos son un desastre.
Estaba vagando si algo como un sistema de parche unificado existe que podría utilizarse para implementar todos estos cambios en 1 parche.
Así que la pregunta es, "¿Hay un sistema que se puede utilizar para implementar todos estos cambios en 1 tiro?
Idealmente, este sistema permitiría a funcionar en seco-correr como parche, pero para todos los tipos de datos 4
Editar:. Gracias a todos por los comentarios que ha proporcionado, era un punto de partida de mi investigación en esta área
Aquí es lo que he encontrado hasta ahora.:
Es difícil de implementar en base aplicaciones php usando envases Linux sistema porque los cambios en el proyecto suceden de forma iterativa en lugar entonces como versiones.
Sería posible utilizar dbconfig para implementar cambios en un proyecto , pero el problema es generación de diferenciaciones base de datos MySQL (esquema y datos)
lo que realmente no se encuentra para el despliegue de aplicaciones basadas en PHP es un gestor de despliegue que ser instalado en el servidor y habría ser la interfaz para la implementación de los parches
Inicié un Google Wave sobre este tema y produje mucha información como resultado. Si alguien está interesado en leer esta ola, por favor avíseme y lo agregaré.
+1 en línea con lo que dije, con un sistema de empaquetado específico para usar + comentario de seguimiento de versión. Tenga en cuenta que sin tener en cuenta la compatibilidad de la base de datos con la versión anterior de la aplicación, debe desconectar el sitio/servicio durante la publicación y deshacer todo en caso de error. – eglasius
@Antoine Claval, muchas gracias por sus comentarios, lo encontré extremadamente útil. Gracias por tomarse el tiempo para delinear su estrategia de implementación, creo que se merece los puntos de reputación :) –