¿Qué herramientas utiliza para compilaciones automatizadas/implementaciones automatizadas?¿Por qué?[cerrado]

StackOverflow https://stackoverflow.com/questions/99535

  •  01-07-2019
  •  | 
  •  

Pregunta

¿Qué herramientas utiliza para compilaciones automatizadas/implementaciones automatizadas?¿Por qué?

¿Qué herramientas recomiendas?

¿Fue útil?

Solución

hudson para compilaciones automatizadas.Lo elegí porque era el más fácil de configurar y demostrar.Un sistema que es demasiado complejo y que no tiene una apariencia elegante no impresionará lo suficiente a la gerencia como para que se involucren en compilaciones automatizadas.Especialmente en un proyecto que tiene mucha inercia.

Otros consejos

NAnt para compilaciones (pero MSBuild, Rake, casi cualquier cosa estaría bien) y CruiseControl.NET para implementaciones.Actualmente estoy trabajando con el nuevo Cruise de los estudios ThoughtWorks, ya que proporciona una mejor manera de organizar los distintos canales y me permite implementar cualquier versión que desee en un entorno de destino.

Usamos equipociudad, de JetBrains.También fabrican Resharper e IntelliJ.

Lo usamos para crear nuestras aplicaciones .Net y ha sido bastante fácil de configurar, conectar a TFS y ejecutar herramientas adicionales.Está muy pulido y, de hecho, me recuerda un poco a este sitio.Lo encontré mucho mejor que CruiseControl y, para el tamaño de nuestro equipo, es gratis.Si necesita muchas compilaciones diferentes, más compilaciones por usuario, etc., cuesta un poco (pero sigue siendo bastante razonable).

Curiosamente, acabo de pasar dos semanas revisando (lea implementar desde cero) nuestro proceso de compilación nocturno.Muy divertido (no, de verdad).Jugué con la idea de instalar Team Foundation Server, pero usamos Perforce para el control de código fuente y no pensé que valiera la pena.

Nuestro proceso ahora es un conjunto de scripts de Powershell que se ejecutan en un servidor de compilación/prueba dedicado que hace lo siguiente en una tarea programada:

Borre todo el árbol de fuentes (¡compruebe primero que no haya extraído nada!)

Baje todo el árbol fuente de Perforce (desde la última compilación etiquetada)

Genere un informe de cambios (sincronizándolo con HEAD y observando lo que sucede)

Construye la aplicación

Indexar los archivos PDB a las fuentes de Perforce

Almacene los binarios y los símbolos en un servidor de símbolos dedicado

Ejecutar los proyectos de prueba.

Construye el instalador

Etiqueta

Envíe correos electrónicos al grupo con informes de estado sobre todo lo anterior.

Funciona bien.

make y bash en Linux

make y cmd en ventanas

Usamos una combinación de herramientas de construcción y servidor de integración continua:

Herramientas de construcción:

  1. experto
  2. SBT
  3. Gradle
  4. Rastrillo

Servidores de Integración Continua:

  1. Jenkins
  2. hudson
  3. Travis CI

Estudio de construcción automatizado.

En lugar de permitirte lidiar con scripts o archivos xml, viene con operaciones macro gráficas predefinidas que te permiten crear tareas fácilmente.

Para nuestro material compilable para Windows, usamos constructor final.

Control de crucero para compilaciones automatizadas.Funciona genial.

Para compilaciones automatizadas, creo que la mejor herramienta disponible en este momento es Team City de JetBrain.La versión gratuita tiene todas las funciones que necesitarás para la mayoría de equipos de 5 a 10 personas.La configuración es fácil, configurar nuevos proyectos es sencillo (relativamente) y, lo más importante, es confiable.

Para las migraciones automatizadas, nada supera a PowerShell.

UppercuT usa NAnt para construir y es un Build Framework increíblemente fácil de usar.

¡Compilaciones automatizadas tan fáciles como (1) nombre de la solución, (2) ruta de control de fuente, (3) nombre de la empresa para la mayoría de los proyectos!

http://code.google.com/p/uppercut/

Algunas buenas explicaciones aquí: Uppercut

Más información


UppercuT es una compilación automatizada convencional, lo que significa que configuras un archivo de configuración y luego obtienes un montón de funciones de forma gratuita.Podría decirse que la característica más poderosa es la capacidad de especificar la configuración del entorno en UN lugar y aplicarla en todas partes, incluida la documentación cuando se compila el código fuente.

Documentación disponible: https://github.com/chucknorris/uppercut/wiki

Características :

  • Configuración sencilla
  • Actualizaciones simples
  • Puntos de extensión personalizados (previos, posteriores y reemplazados) para cada paso del proceso de construcción http://uppercut.pbworks.com/CustomizeUsingExtensionPoints
  • Tiene documentación para la integración con Team City, CruiseControl.NET y Jenkins (anteriormente Hudson) https://github.com/chucknorris/uppercut/tree/master/docs
  • Funciona en Linux con Mono
  • Versionado de DLL según el número de compilación y las revisiones de control de fuente (SVN, TFS, Git, HG)
  • Compilar actividades: F5 o Ctrl + Shift + B
  • Nombrar nombres fuertes es tan fácil como verdadero/falso
  • Pruebas y análisis de código
    • Pruebas
      • Unidad N
      • MbUnidad v2
      • Galión
      • xUnidad
    • NCover
    • NDepende
    • Nitriq
    • Analizador de migración mono
  • Ofuscación
  • ILFusionar
  • Creación y creación de plantillas de entornos (ConfigBuilder, DocBuilder, SQLBuilder, DeploymentBuilder) https://github.com/chucknorris/uppercut/blob/master/docs/ConfigBuilder.doc?raw=true
  • Empaquetado de resultados para prepararse para la implementación
  • Comprime la salida

En el trabajo usamos buenos viejos Hormiga para construir nuestros servlets Java.

Solíamos usar Visual Build del software Kinook, pero recientemente con nuestra nueva aplicación cambiamos a MSBuild ya que tenía una mejor integración con TFS y la capacidad de crear tareas personalizadas.

Las GNU Autotools definitivamente.El configuración automática y autofabricación son un estándar de facto para los sistemas Unix.

He tenido éxito usando construir robot, desencadenado por un script posterior a la confirmación en un repositorio de Subversion.Esto se ha utilizado tanto para compilaciones automatizadas como para pruebas automatizadas.

HORMIGA tanto para la compilación como para la implementación/instalación.

Es un excelente instalador multiplataforma.

Usamos Gestión de errores y compilaciones de Hericus Zed para nuestras compilaciones automatizadas.

Tenemos 4 ramas de código, cada una con java, c++, C#, compilaciones multiplataforma e instaladores para 5 sistemas operativos.

Prepárate para las construcciones.Paquetes de Debian para implementaciones (ya que nuestros servidores de producción lo ejecutan).

equipociudad ejecutar scripts NAnt para construir/empaquetar y PowerShell para implementación.

Descubrí que usar NAnt, impulsado por TeamCity, en lugar de los corredores nativos de TeamCity, nos permite tener un proceso de construcción mucho más rico (p. ej.minimizador de CSS, etc.).También significa que el proceso completo de compilación/paquete se puede ejecutar en cualquier PC de desarrollador en lugar de solo en los servidores de TeamCity, lo que hace que sea mucho más fácil personalizar y depurar problemas en el proceso de compilación.

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