Versión y deployment cakephp en alojamiento compartido

Tengo mi proyecto cakephp implementado en un alojamiento compartido, pero no está versionado. Me gustaría versionarlo usando git o mercurial, e implementar cambios fácilmente. ¿Qué pasos debo tomar? ¿Debo instalar git primero en mi alojamiento compartido primero y hacer un clon en mi entorno local? ¿Debo tener una carpeta separada con repos en mi alojamiento compartido y luego implementar los cambios con alguna utilidad?

Gracias

Solutions Collecting From Web of "Versión y deployment cakephp en alojamiento compartido"

  1. El server de subversión debe ser diferente del server de producción. Puede crear una count en github y alojarla allí como un proyecto privado.

  2. En el server de producción, simplemente extraerá los últimos cambios cuando quiera hacer una actualización (o utilice un server de continuous integration: jenkins, teamcity, bamboo, etc.)

  3. En su localidad, empujará / arrastrará cambios al mismo server de subversión.

Muchos sitios de alojamiento compartido no le permiten tener acceso de shell en su server, y algunos no tienen instalado git. Si depende de tirar de los cambios directamente al server de producción, cuando se le pida que lo instale en un server que no admita shell / git, debe hacer algo diferente … lo cual es doloroso.

Aquí hay una solución que funciona para mí:

  • Lea sobre git-flow
  • Tenga una carpeta de proyecto que refleje directamente sus files de desarrollo. Esto está en la twig de desarrollo.
  • Tenga una carpeta de proyecto que refleje directamente sus files de producción. Esta es la twig principal.

Cuando esté satisfecho con su sitio de desarrollo, comprométase e impulse sus cambios. Luego cambie su proyecto (en su IDE) a la versión de producción. Tire y combine sus cambios (pero no se comprometa todavía). Mi IDE luego me permite upload solo los files modificados, que luego comprometo.

Me doy count de que esta no es la solución que muchas personas adoptan, y como dijo cornelb, un server de continuous integration probablemente simplificará un poco este process. Pero funciona muy bien para mí, y solo requiere acceso FTP al server compartido donde está implementando su código.

¿Eres capaz de instalar Git en tu alojamiento compartido? En la mayoría de los casos, no lo permitirán.

En caso afirmativo, puede utilizar el enganche post-receive para verificar los files del directory de su proyecto:

 GIT_WORK_TREE=/var/www/example.org git checkout -f 

O puede utilizar una de estas herramientas que realizan implementaciones a través de FTP desde su repository de git local.

  • git-ftp (secuencia de commands python)
  • git-ftp (script de shell)
  • git-deploy (script de ruby)