6

A menudo he visto procesos de compilación automatizados, incluidas las compilaciones de integración continua, confirmar los cambios realizados en los archivos de origen durante la compilación de nuevo en el repositorio de control de versiones que la fuente originó desde *. Los números de versión de incremento automático son un escenario común donde se hace esto, pero hay otros.¿Debería un proceso de compilación automatizado comprometer cambios en el control de versiones?

Mi intuición es que esta es una mala idea, ya que puede ensuciar el historial del repositorio con confirmaciones relacionadas con la compilación y el proceso de compilación debe evitar el reinicio accidental. Sin embargo, no tengo ninguna evidencia concreta de que sea mejor evitar cambios durante una compilación.

¿Puede alguien mencionar referencias sobre los pros y los contras de los cambios de compromiso en el control de versiones durante una compilación automatizada?

* Cometer cambios en un repositorio de artefactos por separado es perfectamente aceptable.

Respuesta

1

incremento automático números de versión

Esa es una de metadatos , y poniendo en los metadatos de datos (versionado) es el "mal": los pros y los contras, ver this answer.

Continuous Integration incluye la automatización acumulación, que se trata de ser capaz de reproducir una acumulación de una fijo conjunto de datos versionados.
Si cambia algo en el mismo conjunto, de alguna manera vence su propósito.

+0

Consideré el problema de poder reproducir una compilación pero si una compilación ejecutada contra la Versión N confirma un cambio al control de código fuente y crea la Versión N + 1, repetir la compilación contra la Versión N nuevamente ignorará N + 1 y no debe cambiar la salida. –

+0

@JasonStangroome: pero creará inútilmente la versión N + 1 una y otra vez. Simplemente no lo hagas. No sirve ningún propósito útil. CI se trata de * leer y construir, no escribir nada. – VonC

Cuestiones relacionadas