Control de versiones, implementación y testings continuas en un devteam de una sola persona (plataforma .NET)

Soy el único desarrollador en mi empresa y, como tal, controlo todo, desde la implementación hasta la corrección de errores y las nuevas funciones. Mi herramienta de elección es VS2010 y código principalmente en ASP.NET para nuevas características y ASP clásico ( suspiro ) para las correcciones de errores. Solo tengo VS2010 Pro y no tengo acceso a ninguno de los software de MS Team.

Ahora estamos estableciendo un nuevo entorno de producción a medida que avanzamos y, por lo tanto, quiero entrar en algunas rutinas y hábitos nuevos. Actualmente, hago una gran cantidad de correcciones de errores directamente en el código de producción. No es tan bueno.

Nuestra aplicación y sus amigos son muy buenos candidatos para algún tipo de continuous integration. Sin embargo, dado que hago todo yo mismo, podría estar haciendo otro trabajo cuando se informa un error, por lo que mi código base no está listo para la implementación.

Actualmente estoy tratando de utilizar GIT para este propósito, usando sus twigs y tal, y esto funciona bien la mayor parte del time, pero es un poco tedioso.

¿Alguien puede recomendar un buen libro o algunos buenos enlaces que se ocupen de estos problemas? Me doy count de que toda esta pregunta se ofuscó, pero creo que puedes deducir un punto después de leerlo 🙂

Mi entorno actual consiste en Windows 7 con VS2010 y cygwin para GIT.

De su pregunta parece que se está perdiendo un process de CI (Integración Continua) en su lugar para protegerlo contra errores de regresión.

Sugiero usar el server de TeamCity : es fácil de instalar y mantener, y debería estar en funcionamiento en muy poco time.

Parte de su process de desarrollo debe ser escribir testings; puede usar el marco de testings de unidades que se incluye con VS, llamado MSTest, que TeamCity puede ejecutar en cada confirmación para asegurarse de que no haya nada roto.

También puede usar CruiseControl.NET para un process de integración continuo. Con CC.Net siempre puede ver las statistics reales, la cobertura del código, los resultados de las testings de la unidad, recibir información por correo electrónico, etc. Algo sobre las sucursales de git: aquí

Indiscutiblemente … iría con Hudson por sus necesidades de CI. Podría seguir y seguir sobre sus virtudes en comparación con Cruise Control, pero todo lo que puedo decir es que lo descargue (código abierto) y lo vea por usted mismo.

No lleva mucho time ponerlo en marcha, y hay complementos para todo

La primera vez que utilicé Hudson, tuve una acumulación y funcionamiento en aproximadamente 10 minutos.

Los Techies tiene buenas publicaciones de GIT para desarrolladores de Windows.

También hay este screencast.

Mientras lo hace, también sugeriría una continuous integration. Este es con Hudson. Hecho para y en Java, pero también funciona con .NET. También hay Jetbrains Team City, que es gratuita hasta una cierta cantidad de proyectos. Aunque no estoy seguro de cómo funcionará cualquier CI con ASP simple. Estoy seguro de que hay temas al respecto al respecto.

Tekpub tiene una serie completa para Git: Mastering Git .

La forma en que leí su publicación fue que no se trata tanto de problemas con la implementación y la continuous integration, sino más bien sobre cómo asegurarme de tener las versiones adecuadas para realizar correcciones urgentes / cambios de inserción / ejecutar una continuous integration. Todo eso, mientras todavía trabaja normalmente en los cambios a más largo ploop.