Pregunta

¡Estoy pensando en actualizar mis prácticas y en buscar un poco de ayuda y consejos!

Trabajo mucho en sitios que ejecutan joomla, oscommerce, drupal, etc., así que he creado muchos componentes / complementos y hacks personalizados, etc. Actualmente, cada sitio tiene su propia carpeta en mi configuración de xampp. Lo que me gustaría hacer es tener una configuración predeterminada (por ejemplo) de una configuración de Joomla y cuando hago actualizaciones de cambios, puedo hacer algo que actualice todas las demás carpetas que contienen joomla, casi como una actualización automática.

También estoy considerando usar Aptana IDE más y el servicio SVN como unfuddle para compartir mi trabajo con otros, pero No he usado SVN antes y no estoy seguro de si es posible hacer lo anterior usando SVN?

Sería fantástico poder trabajar en un elemento principal / principal y enviar las actualizaciones tanto a las actualizaciones locales como a los servidores reales, sin tener que mantener muchos sitios individuales diferentes.

Sugerencias?

¿Fue útil?

Solución

Sí, SVN sería una gran herramienta para este propósito. Almacene su código (por ejemplo: un componente personalizado de Joomla) en el control de fuente. Donde quiera que quiera usar ese componente, simplemente haga un checkout o export de esa carpeta en particular a su sitio en vivo. Aquí hay una forma en que podría estructurar su repositorio:

unfuddle.com/myRepo/trunk/com_myComponent
unfuddle.com/myRepo/trunk/com_anotherComponent

Inicie sesión en su servidor en vivo a través de SSH y ejecute este comando:

> cd path/to/joomla/components
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent

Cada vez que cambie su código, confirme los cambios y luego vuelva a iniciar sesión en el servidor y ejecute:

> cd path/to/joomla/components
> svn up com_myComponent

Un beneficio real de esto es que si realiza una actualización y rompe algo, siempre puede revertirlo al último " bueno " versión.

En cuanto a la automatización de este proceso, es posible que no tenga suerte si se encuentra en servidores diferentes. Para múltiples implementaciones en el mismo servidor, podría escribir fácilmente un script de shell para ejecutar los comandos anteriores para cada sitio / componente. Si necesitara que esto estuviera completamente automatizado, incluso podría configurar un trabajo cron para ejecutar este script todos los días a las 2 am o algo, personalmente me quedaría con el enfoque manual, pero sigue siendo una opción.

Para trabajar localmente con sus repositorios SVN, le recomiendo que consulte TortoiseSVN (si está en Windows): es la forma más sencilla y sencilla de trabajar con SVN.

Otros consejos

Para automatizar cosas, podrías usar ganchos SVN para esto. Hay un enlace posterior a la confirmación, por lo que cada vez que realice una confirmación, su secuencia de comandos de enlace podría indicar a las otras máquinas que realicen una actualización de SVN para obtener el código más reciente.

Para obtener más información, consulte Control de versiones con Subversion - Implementando enlaces de repositorio .

No tengo una buena respuesta para tu situación, pero no creo que Subversion en sí sea la respuesta.

Esta pregunta aborda algunas de las inquietudes sobre los mecanismos de Subversion para compartir en "proyectos".

Subversion puede manejar la parte de administración de código fuente de este rompecabezas. La distribución automatizada, bueno, yo usaría otra herramienta.

Busque en Capistrano . Lo he usado un par de veces y una vez que lo descubres, es bastante bueno. Dirigido a rieles, pero debería funcionar para cualquier cosa en la que necesite obtener código de un repositorio e implementarlo en diferentes servidores.

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