Construir sistema de automation, revisión de código e implementación para Grails

Aunque esta pregunta podría aplicarse técnicamente a cualquier idioma / marco, me gustaría saber cuáles son algunas de las mejores prácticas de la industria para comstackr, revisar y desplegar una aplicación de Grails.

Desde mi experiencia personal, utilizo una secuencia de commands Groovy que utiliza AntBuilder para hacer la construcción, omita la revisión y use ssh / scp para pasar la guerra al server de aplicaciones. Debido a problemas henetworkingados, utilizamos una combinación de CVS y git.

¿Existe un sistema automatizado o model de flujo de trabajo que me permita hacer tres cosas, build, revisar e implementar con la menor cantidad de inversión general en time y capital.

Un posible escenario del que he oído hablar es el uso de Jenkins para build, Gerrit para revisarlo, pero me parece que me falta la última parte: ¿cómo implementarlo automáticamente?

Hazlo con Jenkins: construye de forma nocturna utilizando un trabajo estándar y deployments para probar entornos con trabajos de jenkins parametrizados (dado el nombre del entorno como parámetro).

Por lo general, utiliza files de configuration externos. De esta forma, puede hacer que su construcción sea única y simplemente promocionar el file war a través de sus entornos. Cualquier configuration específica del entorno se establece en sus files externos.

Siempre he usado a Hudson / Jenkins para hacer todo esto. 1 trabajo para ejecutar testings continuamente. Un trabajo para build sus artefactos cada noche / cabeza / label. Otro trabajo o set de trabajos que copy los files a los diferentes serveres de implementación. Luego use una secuencia de commands en el server para impulsar el código en vivo. (Este último paso podría ser fácilmente iniciado por un command de Jenkins)

Últimamente he estado probando un plugin de promoción que me gusta. A medida que promociona el código, inicia los trabajos para copyr los files en los serveres correctos y "label" la compilation de Jenkins para informarle qué número (s) de compilation se promovieron.