Pregunta

He configurado cruisecontrol.net cs para mi proyecto que tiene una serie de módulos y componentes que se construyen y se almacenan en la carpeta por fecha en la máquina de compilación. Lo que necesito es configurar la aplicación ( wpf no web) y lo cierto es que, dado que hay una serie de módulos y diferentes soluciones que construyen y finalmente hacen el producto (dlls), etc. paquete para usar (algo más simple o de acuerdo con usted que tomaría menos tiempo) Estaba planeando instalar algo en la máquina de compilación que recogería los archivos de la carpeta (¿qué carpeta?) y realizar la configuración ...

Un enlace para ilustrar el punto es La construcción nocturna de Firefox .

Cualquier consejo chicos

Gracias de antemano.

¿Fue útil?

Solución

Estoy encontrando que este sistema está funcionando bastante bien para mí. Asumo VS 2005/2008 y C #, pero el mismo principio funciona para otros compiladores y lenguajes que simplemente sustituyen su propio saborizante.

Utilizando CC.NET

  • Echa un vistazo a todas las fuentes con scheduleTrigger, si se usan varias ubicaciones
  • Use MSBuild para compilar cada solución que se requiera (asumiendo VS 2005/2008), o nant, o la herramienta de compilación que funcione mejor para compilar sus proyectos de componentes
  • Use MSBuild para crear instaladores WIX, aunque también he usado MSBuild para crear instalaciones de InnoSetup y Wise Installation Studio
  • Use MSBuild para actualizar los archivos AssemblyInfo.cs para cualquier proyecto que desee que controle el script de compilación
  • Use su línea de comando de control de origen para registrar archivos actualizados de AssemblyInfo.ca
  • Finalmente use MSBuild para copiar su instalador de salida a una nueva carpeta en su servidor de entrega. Utilizo la marca de tiempo del ejecutable principal del producto para hacer una marca de tiempo junto con el número de versión generado para nombrar la carpeta (../Builds/Product/v.M.m.r.p - DATE TIME /)

También me gusta generar un correo electrónico de aviso de compilación al final.

En cuanto a las recomendaciones de instalación , existe una compensación.

Para la generación rápida, use un instalador de scripts como NSIS o Inno Setup. El inconveniente no es ser compatible con Windows Installer.

Para los productos de Windows Installer, el uso de Wise o InstallShield es más rápido de generar la primera vez, pero las herramientas costosas y el mantenimiento en mis scripts de instalación es alto. El uso de WIX tiende a ser mucho más costoso la primera vez (curva de aprendizaje + ángulo de soporte de impuestos), pero luego es más fácil de mantener ya que es todo XML y las herramientas de la línea de comandos son fáciles de usar.

He tenido algunos éxitos con la instalación de paquetes con Inno Setup, ya que el agrupamiento y el encadenamiento de Windows Installer (al menos para Windows XP) es un verdadero dolor.

Otros consejos

Utilizamos Visual Build y Wise para la creación de nuestro instalador y encontramos que es muy intuitivo y fácil crear las configuraciones con. El proyecto CC.NET real hace algunas cosas, lo primero es verificar que todas las piezas necesarias se hayan construido con éxito desde la última vez que creamos un instalador (permitimos a los instaladores a pedido y programados todas las noches) si no se han construido con éxito, reconstruimos todos los componentes, una vez que se han construido (o si ya lo fueron) con éxito, llamamos a VisualBUildPro y dejamos que cree el instalador. Visual Build Pro, maneja todas las copias y llamadas de Wise para el instalador real. Una vez que se crea el instalador, lo publicamos en el destino donde todos esperan que esté. También hemos modificado el XSL para el editor de correo electrónico en el servidor de compilaciones, para que todos obtengan un enlace al instalador más reciente una vez que se publique.

Algunas cosas acerca de las compilaciones nocturnas si puedes, deberías intentar configurar un servidor de símbolos y hacer que cada instalador cargue símbolos con información del código fuente. Este también es un buen punto para tener cualquier documentación (D'Oxygen; SandCastle) Crear y el tiempo para ejecutar su conjunto COMPLETO de pruebas que tiene disponible.

Eche un vistazo a WiX . Este conjunto de herramientas permite que el proyecto de configuración se defina en forma XML y luego genera el msi a partir de este XML. El hecho de que el proyecto esté definido en XML le brinda mucha flexibilidad para modificar este XML sobre la marcha durante la compilación (si es necesario).

Se integra con MSBuild: consulte este artículo , y también funciona bien con NAnt: consulte este artículo .

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