2008-08-07 14 views
30

Tenemos un proyecto PHP que nos gustaría controlar las versiones. En este momento, tres de nosotros estamos trabajando en una versión de desarrollo del proyecto que reside en una carpeta externa a la que están vinculados todos nuestros IDE de Eclipse, y por lo tanto no hay control de versiones.Control de versiones PHP Web Project

¿Cuál es la forma correcta y la mejor manera de controlar la versión de esto?

Tenemos una configuración de SVN, pero solo necesitamos encontrar una buena forma de registrarnos y salir que nos permita probar en el servidor de desarrollo. ¿Algunas ideas?

Respuesta

25

que estábamos en una situación similar, y esto es lo que terminamos haciendo:

  • la creación de dos ramas - la rama de lanzamiento y el desarrollo.
  • Para la rama de desarrollo, incluya un enlace posterior a la confirmación que implemente el repositorio en el servidor de desarrollo para que pueda realizar la prueba.
  • Una vez que esté listo, fusiona sus cambios en la rama de publicación. También sugeriría poner un gancho post-commit para la implementación allí.

También puede configurar servidores de desarrollo individuales para cada uno de los miembros del equipo, en sus estaciones de trabajo. Me parece que acelera un poco las cosas, aunque tienes más tiempo de configuración.

Tuvimos que usar un solo servidor de desarrollo, porque estábamos usando un CMS patentado y nos topamos con problemas de licencia. Entonces nuestro gancho post-commit fue un simple bot de FTP.

0

Cada uno de ustedes podría ejecutarlo localmente, o en su propio servidor de desarrollo (o incluso el mismo con un puerto diferente ...).

0

Una forma posible (hay probablemente mejores maneras):

Cada uno de ustedes debe tener su propia versión desprotegido del proyecto.

Tenga una copia local del servidor en su computadora y pruébela allí durante el día. Luego, al final de cada día (o cuando sea), fusiona lo que esté listo para probar, y lo prueba en el servidor de desarrollo y lo prueba.

2

Una forma de utilizar la subversión para el desarrollo de PHP es también configurar un repositorio para uno o los tres desarrolladores, y usar este repositorio, más como una herramienta de sincronización, que como control de versión verdadero.

Podría,

  • Haga un acuerdo de recompra

  • Añadir toda la estructura del documento PHP de su proyecto

  • Pedido una copia de esta cesión temporal en el lugar correcto en el servidor dev

  • Use un enlace svn, que se activa en commit

Este gancho, actualizará automáticamente los contenidos del servidor de desarrollo, siempre que cualquier miembro del equipo verifique cualquier código.

gancho reside en:

svn_dir/repo_name/ganchos/post-commit

y podría verse como:

/usr/bin/SVN arriba/via_a/webroot --username svn_user --password svn_pass

Eso lo hará actualizar su copia de trabajo en el servidor dev a la última hora de entrada

5

Esto es lo que hacemos:.

  • Cada dev tiene una máquina virtual que se configura como nuestro servidor de integración
  • El servidor de integración dispone de espacio para el tronco, cada usuario, y algunas ranuras para ramas
  • El servidor de producción
  • ganchos están en Subversion a e-mail cuando se hacen compromete

Al comienzo de un proyecto, el usuario crea una bifurcación y la verifica en su VM personal, así como toma una copia limpia de la base de datos. Ellos hacen su trabajo, comprometiéndose a medida que avanzan.

Una vez que han terminado todo en su espacio personal, inician sesión en el servidor de integración y revisan su rama, ejecutan sus pruebas, etc. Cuando todo lo que pasa su rama se fusiona en Troncal.

El tronco se reconstruye, se ejecuta el conjunto completo de pruebas y, si todo está bien, obtiene el sello de aprobación, se etiqueta SVN y se promociona a producción al final de la noche.

Si en algún momento se comete un compromiso de otra persona, recibimos un correo electrónico y podemos fusionar esos cambios en nuestras sucursales individuales.

3

Beanstalk tiene ganchos post-commit incorporados para implementar en servidores de desarrollo, almacenamiento en etapas y producción.

0

Otra herramienta que puede usar para las compilaciones es TeamCity, que es gratis para 20 configuraciones de compilación (suficientes para la mayoría de las pequeñas empresas/proyectos). De esta forma puede ejecutar sus pruebas y cronogramas.

2

¿Qué tal algo distribuido? Puede comenzar, por ejemplo, con Mercurial, probar diferentes flujos de trabajo y ver cuál le queda mejor.

Cuestiones relacionadas