Pregunta

En CVS tenemos en proyecto con múltiples directorios en ese país. Hay una acumulación nocturno que tiene que tirar de cosas de directorio diferente en el mismo proyecto CVS con el fin de construir el nightly build. Por lo que debería tener esto en cuenta y tengo que modificar el script de construcción a comprobar las cosas desde diferentes repositorios si nos movemos a SVN.

Me leer la relacionada SVN de control de calidad, pero tengo mi propia pregunta que necesito la respuesta para.
Puedo hacer:

/trunk
/tags
/branches
/3rdparty

Cuando todo lo que desarrollamos sale de la / del tronco y cualquier 3rdparty que no cambiamos va a / 3rdparty.

Todo bien, ahora el guión nightly build tiene que marcar el tronco, la comprobación de la etiqueta, echa un vistazo a la requerida 3rdparty cosas en directorios apropiados, a continuación, iniciar el proceso de construcción.
El resultado de construcción (material compilado) puede permanecer en montaje NFS para un cierto período tan Integración equipo puede volver 2 semanas y volver a crear problemas.
Están todas mis bases cubiertas?

¿Fue útil?

Solución

El SVN redbook aquí incluye una gran cantidad de información sobre los diseños para diferentes tipos de proyectos y cómo manejarlos .

También puede que quiera usar ganchos / disparadores / externo para tirar en los datos de una cesión temporal independiente llamada 'tercera parte'. Por eso, cuando un desarrollador comprueba a cabo una cesión temporal, obtiene la tercera parte también. Hay muchas maneras de separar las preocupaciones, pero presentar un acuerdo de recompra unificada de los componentes.

Buena suerte

Otros consejos

Podría valer la pena hacer uso de un motor de generación como o control de crucero Hudson. El flujo de trabajo es ligeramente diferente - las etiquetas se hacen después de la construcción, pero se puede conseguir módulos adicionales que le dan un cierto control sobre eso. El punto es, todo el trabajo de desarrollo está hecho para usted, y usted tiene un marco digno para su noche construye, y se obtiene una bonita interfaz web para controlar y supervisar todo.

En lo personal, me gustaría poner algunas definiciones externas en el tronco para tirar en las bibliotecas apropiadas tercio del partido en los lugares apropiados. De esta manera, cuando se cambia tercera versión de la biblioteca partido, a hacer los cambios en el tronco y no tienen que modificar los scripts de construcción. También significa que usted puede construir versiones anteriores sólo ser copia local del tronco / tag / rama apropiada. Se advirtió - sólo ellos lo hacen en el tronco, dispersándolos en torno puede llevar al asesinato

.

También me capa del repositorio algo como:

project
 /trunk
 /branches
 /tags
3rdparty

Simplemente porque esto le da más margen para la adición de proyectos de nivel más altos en algún momento. Hacer esto le permite gestionar diferentes proyectos de forma totalmente independiente - y todavía se puede utilizar para hacer referencia a lo externo de las versiones correctas de una a la otra, si hay dependencias - se detiene esta muy bien los cambios en un proyecto en silencio rompiendo / modificación de proyectos dependientes

.

Es posible hacer esto usando repositorios separados, así, que está muy bien, pero en ese caso me había puesto la sección separada 3rdparty en un acuerdo de recompra por separado desde el principio.

¿Por qué no se mueve la tercera parte en el tronco? cuando cada se ramifican una copia de la tercera parte entra en rama. Y, obviamente, usted no cambia tercera materia de la fiesta en Branche porque su rama se ha codificado en base a la materia de la fiesta tercera existente.

No estoy tan seguro sobre el etiquetado de lo que está hablando. Es que el número de versión se refiere? Si se trata de número de versión que pasar a través de la escritura y la etiqueta de la construcción.

Si los "múltiples directorios" son componentes separados que desea la versión independiente, entonces usted debe tener cada uno en su propio repositorio para que puedan ser etiquetados por separado. Pero si todo esto es un solo proyecto autónomo (es decir, si será generalmente etiquetado y ramificación de todos los componentes juntos), entonces es probable que pueda poner todo el código en el mismo repositorio.

Se debe considerar el uso externos para la artefactos de terceros.

Mi script comprueba hacia fuera del tronco, modifica los archivos (ajusta los números de versión de los archivos AssemblyInfo.cs, etc.), entonces etiqueta de eso. Si no necesita modificar los archivos en modo alguno, a continuación, el etiquetado primera sería bueno también.

Aparte de eso, la configuración suena bien para mí por lo menos.

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