Necesito algunas aclaraciones sobre las responsabilidades de Build Script y Build Server.
Leí varios artículos en la red sobre integración continua y compilaciones. Incluso
- La tecla F5 no es un proceso de compilación
- El servidor de compilación: el monitor cardíaco de su proyecto
- Las construcciones diarias son tu amigo
Y tuve una conversación con mi asesor sobre el proceso de compilación de nuestro software. Como tiene mucha experiencia, confío en sus declaraciones, pero me quedé confundido.
Según tengo entendido, a partir de mi investigación (y corríjame aquí, ya que es lo que estoy preguntando) el ideal debería ser el siguiente:
- cada proyecto tiene su script de compilación
- este script construye el proyecto
- este script se asegura de que las dependencias se construyan previamente
Dado que las dependencias podrían ser otro proyecto, con su propio script de compilación se acumula una jerarquía similar a un árbol. Puede haber un script de compilación superior que compila todos los proyectos y aplicaciones.
Sin embargo, las responsabilidades del servidor de compilación son:
- echa un vistazo al repositorio
- desencadenar la construcción
- pruebas de activación y otras herramientas de control de calidad
- hacer que el artefacto esté disponible
Esto puede activarse manualmente, todas las noches o siempre que cambie el repositorio
Los objetivos de mi asesor son, según tengo entendido, que un script de compilación es inflexible y no se puede mantener (aparte del hecho de que tomaría mucho tiempo crear uno para nuestra base de código heredada). Además, el Servidor de compilación debe mantener las dependencias, por ejemplo, para usar dependencias más antiguas cuando se crean nuevas fallas. Y en particular porque, Ant
como era el tema concreto, no es capaz de construir todo tipo de tecnologías diferentes que se utilizan en la base del código, y no es capaz de mantener las dependencias.
¿Puede por favor elaborar los objetivos y aclarar las responsabilidades?