2010-09-13 13 views
6

Estoy tratando de encontrar la forma de escribir un enlace precompromiso para Git que verifica el estado de mi compilación Hudson. Si la compilación anterior falló, no debe permitir que nadie se comprometa sin antes escribir una línea específica, p. "construcción fija".Pre-commit hook para Git cuando la compilación de Hudson ha fallado

EDIT:

La primera responde ha proporcionado un lado de la moneda: el API Hudson.

Ahora necesito el otro lado. ¿Cómo escribo el enlace precompromiso en Git?

+0

Solo pensando en un caso de uso interesante. Supongamos que Hudson falla. Dos desarrolladores están trabajando en el código, uno en la solución y el segundo en la próxima función. En su caso, el desarrollador de arreglos debe verificar el código primero. El segundo desarrollador tiene que esperar hasta que Hudson reconstruya con éxito. No estoy seguro de si eso podría ser un problema para usted (depende en gran medida de los tiempos de compilación). En mi opinión, usted es mejor, dando al líder del proyecto un monitor, que siempre muestra el estado de compilación más reciente. Se activará si la construcción se rompe durante un período prolongado de tiempo. –

+0

Los tiempos de construcción en este momento son muy bajos (del orden de varios minutos) por lo que no debería ser un problema ... todavía. –

+0

Solo un comentario (no estoy seguro si se puede aplicar a su situación): vea también http://stackoverflow.com/questions/3209208/what-is-the-cleverest-use-of-source-repository-that-you -have-ever-seen/3209767 # 3209767 – VonC

Respuesta

2

Como se menciona en este blog post, Hudson tiene una API reconocible, a través de su Remote Access API.

http://myhudson.example.com/job/MyJob/api 

Mediante el uso de una combinación de:

  • wget (disponible en Unix o Windows)
  • análisis

puede extraer el estado de la compilación más reciente.

+1

Muy bonito es el soporte de Hudson para XPath. Lo usé para consultar los nombres de artefactos para descargar artefactos específicos en un segundo paso. En tu caso, una sola llamada de wget debería darte la información correcta. –

+0

Gracias por esto. He editado mi pregunta para ahora reflejar que solo estoy buscando cómo escribir el gancho precomprometido en 'Git' ahora. Siéntase libre de editar su respuesta. –

Cuestiones relacionadas