Usar Pagelime CMS con la configuration del control de versiones (git)

Tengo un website que estoy configurando con Control de versiones. Usamos Beanstalk con git . Ahora, acabo de recibir una request para agregar un CMS a su website, que básicamente es simplemente agregar una class "cms" a cualquier div que desee que el cliente pueda editar.

Para nuestro CMS, usamos Pagelime , un CMS muy ligero. Pero el cliente obtendrá su propio nombre de usuario para realizar cambios y cargará automáticamente esos cambios en vivo a través de FTP.

¿Cómo funcionará eso con mi control de versiones? los files en el repository de ese website estarán desactualizados si el cliente ingresa y agrega contenido nuevo con el CMS.

¡Gracias!

¿Estás usando PHP? Puede usar el sistema de publicación Pagelime FTP-XML y luego usar el código en este GIST: https://gist.github.com/945294

Configurará Pagelime para enviar contenido a su sitio de cliente utilizando XML y no sobreescribiendo el código fuente. A continuación, utiliza PHP (o cualquier otro idioma) para TIRAR el contenido en sus páginas.

¡Todo sigue alojado en su FTP pero su código fuente nunca se toca!

Solo asegúrate de no borrar nunca la carpeta "cms-assets", ya que es donde viven los files XML, las imágenes y los documentos de Pagelime.

Espero que tenga sentido!

Nuestras implementaciones S / FTP copyn automáticamente los files a su server remoto, pero no conservan un enlace al repository git alojado en Beanstalk. En su lugar, podría implementar clonando el repository de Beanstalk en su server remoto y luego, cada vez que implemente, emitiría un "git pull" desde ese repository en el server para get cualquier cambio de Beanstalk.

Para compensar los cambios realizados por Pagelime, necesitaría un par de pasos adicionales antes y después de una extracción:

1) confirmar los cambios realizados por pagelime mediante la emisión del command

git commit -am "commit pagelime changes" 

2) extraer los cambios de Beanstalk al server

 git pull origin master 

3) empujar los cambios de Pagelime a Beanstalk

 git push master 

Este es el flujo de trabajo más simple y no tiene en count los conflictos que no se pueden resolver automáticamente entre los cambios de Pagelime y los cambios que realiza y se compromete con Beanstalk desde su entorno de desarrollo.

Una vez que haya configurado y / o generado este flujo de trabajo en su lenguaje de progtwigción preferido (ruby, python, php) puede comenzar a utilizar las implementaciones de SSH de Beanstalk en lugar de las implementaciones de S / FTP. Beanstalk puede iniciar session en su server y su secuencia de commands o sus commands automáticamente cada vez que ejecuta una implementación.