2009-03-03 11 views
7

Trabajo en un equipo de 2 desarrolladores y actualmente usamos VSS y no tenemos integración continua o compilación diaria y pocas pruebas de Unidad.subversion/cruise control/nant/nunit con visual studio proyectos y soluciones

Estoy buscando cambiar nuestro control de fuente a Subversion y al mismo tiempo ponernos en marcha con un proceso más profesional.

Subversion/cruise control/nant/nunit parece una combinación bastante popular de lo que he visto hasta ahora y acabo de instalar estos en una máquina de repuesto.

¡He descargado el manual de subversión y tiene 400 páginas para solo una de las herramientas!

Realmente solo quiero ponerme en marcha usando patrones probados y comprobados que ya se encuentran en la naturaleza y luego modificarlos según sea necesario y a medida que aumenta mi familiaridad con las herramientas.

¿Alguien conoce algún libro/tutorial/tutorial que cubra solo lo esencial para ponerme en funcionamiento lo antes posible con esta combinación particular de herramientas?

Respuesta

5

He estado usando subversion durante algunos años y debo decir que la mejor introducción que he encontrado está incluida en el archivo de ayuda de TortoiseSVN. TortoiseSVN es otro cliente gratuito para Windows con integración de Explorer. Recomiendo leer primero la ayuda de Tortoise, incluso antes de los documentos de subversión originales. Cuando sea necesario, lo remite a los documentos oficiales.

Tortuga también es mi cliente favorito. De hecho, en la mayoría de las máquinas es el único componente de subversión que necesito. Realiza todas las funciones que uso de forma rutinaria, incluida la creación de repositorios. Si bien eso no afecta a las herramientas de línea de comandos normales, y las instalo también en la mayoría de los casos, solo encuentro las herramientas cli necesarias para la automatización a partir de scripts y funciones de mantenimiento de repositorio (poco frecuentes).

Estoy en el proceso de volver a crear nuestro propio entorno de construcción en el trabajo, así que estoy revisando las opciones de muchas herramientas de compilación/desarrollo. Estas son las herramientas que puedo recomendar o vienen con buenas recomendaciones de otros:

WinMerge: herramienta diff gratuita altamente recomendada, instálela después de TortoiseSVN para la mejor integración. Uso esta herramienta a diario para muchos propósitos, algunos fuera del desarrollo.

TeamCity: servidor de CI que parece estar bien pulido. Todavía no he probado este, pero es el principal candidato para CC.NET dada mi experiencia con CC.NET (un año) y las buenas críticas que recibe. Hudson es otra opción bien revisada.

Servidor VisualSVN: un servidor http (s) gratuito recomendado para SVN que cuenta con integración AD para permisos y una consola msc de estilo microsoft. Acabo de terminar de implementarlo en el trabajo y es muy simple. Una visita obligada si desea registro/salida remota (IP), cifrado ssl, scripts de enganche del repositorio y otras funciones basadas en el servidor.

VisualSVN: un plug-in de Visual Studio bien revisado para SVN. No he probado este, pero se considera una compra obvia. [Editar: de acuerdo con lo que he leído aquí en desbordamiento, AnkhSVN es una opción gratuita que funciona sobre el mismo.]

SVN-Monitor: software de monitor gratuito recomendado que le avisa de los cambios en el repositorio. Configurable en cuanto a lo que monitorea y la acción que lleva a cabo. Depende de la instalación de TortoiseSVN.

BugTracker.NET: servidor de seguimiento de problemas gratuito recomendado. Cuenta con integración SVN para unir los problemas que se rastrean con las revisiones de subversión. No estoy seguro si TeamCity tiene una función similar, pero ya la usamos fuera del desarrollo para rastrear problemas con el servicio de asistencia y es ideal para un paquete gratis.

No tengo experiencia con pruebas de unidad, cobertura, herramientas de documentación para .NET, así que no puedo comentar allí.

Soy un Pythonista, así que voy a tapar una cosa Python puede ser útil para SVN wrt, que es que puede usar la biblioteca PySVN para realizar cualquier tipo de trabajo de depósito automatizado que es demasiado complejo para scripts con el comando herramientas de línea. Lo uso para crear etiquetas una vez que una compilación está lista para ser etiquetada e implementada.

Escoge algunas de estas herramientas y estarás por delante del juego. Desarrollar procesos en torno a ellos y capacitar al personal, bueno, eso todavía es un trabajo para usted. :)

+0

Recomendaría usar una herramienta diff de tres vías sobre WinMerge que solo pueda mostrar diferencias entre dos versiones de un archivo (y no cambios en los archivos en comparación con una versión de origen). Mi favorito personal es SourceGear DiffMerge (descarga gratuita). –

+0

¡Gracias por la respuesta detallada! –

1

Si desea obtener un servidor de Subversion funcionando lo antes posible sin tener que saber mucho sobre el repositorio, consulte Visual SVN here. Es una aplicación GUI que le permite configurar repos sin necesidad de leer mucha documentación. También hay un dimecast al respecto here.

En cuanto a la integración con CC.NET, busque la documentación de CC.NET en el bloque de control de subversión here, la han dividido en su sitio bastante bien y debería poder encontrar las etiquetas xml para svn con bastante facilidad.

También debe consultar la implementación de herramientas del lado del cliente, como Tortoise SVN y Ankh SVN.

Para NANT, vea estos dimecasts here. Excelentes tutoriales sobre cómo usar nant de manera efectiva.

+0

Recomendaría Ankh SVN 2.0 sobre Visual SVN. No solo es gratuito (en ambos sentidos), Ankh usa la API de Microsoft para el control de fuente, mientras que Visual SVN piratea las cosas junto con un complemento. Si desea ver el tipo de diferencia que esto produce, intente cambiar el nombre de los archivos. –

+0

Acepto, solo estaba sugiriendo usar Visual SVN como gestor de repositorios de algún tipo. Crear, eliminar, agregar seguridad de usuario, grupos, etc. ¿No sabía que Ankh SVN 2.0 tenía ese tipo de funcionalidad? – Joseph

+0

Gracias Joseph.Voy a comprobar esto :-) –

0

Esto probablemente no es útil a la cuestión que nos ocupa, pero ...

No estoy diciendo que no hay una sola ... pero incluso si usted ha tenido este manual, se tendría una mucho aprendiendo a hacer Realmente necesitas aprender cada una de las piezas en aislamiento antes de pensar en unirlas todas juntas.

+0

Veo su punto, pero supongo que todavía hay escenarios/patrones de integración comunes? ¡Tal vez soy demasiado optimista de que encontraré un recurso que cubra exactamente este combo! –

1

Como eres de un fondo VSS, echa un vistazo a SourceGear Vault y SourceGear Fortress. Si hacen lo que quieren, serán más rápidos de aprender debido a que están diseñados para personas con una mentalidad de VSS.

Creo que incluso pueden ser gratis para equipos pequeños.

(Usted todavía desea utilizar nUnit para las pruebas, sin embargo, me gustaría obtener el control de código fuente y la integración continua ordenados en primer lugar.)

Si tienes que ir con Subversion se dará cuenta de que es muy estable y más entonces capaz de satisfacer la necesidad de la mayoría del equipo Eche un vistazo a TortoiseSVN para una interfaz de usuario fácil encima de Subversion

+0

Gracias, he leído cosas buenas sobre Subversion y no me importa salir de la mentalidad de VSS :-) Veo tu punto acerca de cómo obtener SCC y la integración continua ordenada primero, pero solo estaba especificando lo que mi libro ideal cubriría en este punto . ¡Este libro puede no existir, por supuesto! –

2

He grabado a video que ilustra todos los aspectos básicos, incluida la configuración de SubVersion, CruiseControl.NET. Incluso ilustre una construcción rota. La herramienta de desarrollo utilizada era Delphi pero podría haber sido VS.NET fácilmente.

+0

Estoy empezando a aprender sobre CI, vi su publicación, vi el video y fue muy útil. Hubiera sido genial si describieras algunos de los requisitos mínimos del servidor (parece que utilizaste una máquina de desarrollo), pero eso es algo que podré deducir. ¡Buen trabajo! – Dave

Cuestiones relacionadas