Integración continua: características
A continuación se presentan algunas de las principales características o prácticas para la integración continua.
Maintain a single source repository- Todo el código fuente se mantiene en un único repositorio. Esto evita que el código fuente se esparza por varias ubicaciones. Herramientas comoSubversion and Git son las herramientas más populares para mantener el código fuente.
Automate the build- La construcción del software debe realizarse de tal manera que pueda automatizarse. Si hay varios pasos que deben llevarse a cabo, entonces la herramienta de compilación debe ser capaz de hacerlo. Para .Net, MSBuild es la herramienta de compilación predeterminada y para las aplicaciones basadas en Java tiene herramientas comoMaven and Grunt.
Make your build self-testing- La construcción debe ser comprobable. Inmediatamente después de que se produzca la compilación, se deben ejecutar casos de prueba para garantizar que se puedan realizar las pruebas para las diversas funciones del software.
Every commit should build on an integration machine- La máquina de integración es el servidor de compilación y debe asegurarse de que la compilación se ejecute en esta máquina. Esto significa que todos los componentes dependientes deben existir en el servidor de integración continua.
Keep the build fast- La construcción debería suceder en minutos. La compilación no debería tardar horas en realizarse, porque esto significaría que los pasos de compilación no están configurados correctamente.
Test in a clone of the production environment- El entorno de construcción debe ser de naturaleza cercana al entorno de producción. Si hay grandes diferencias entre estos entornos, puede darse el caso de que la compilación falle en la producción aunque pase al servidor de compilación.
Everyone can see what is happening - Todo el proceso de construcción, prueba e implementación debe ser visible para todos.
Automate deployment- La integración continua conduce a la implementación continua. Es absolutamente necesario asegurarse de que la compilación sea fácil de implementar en un entorno de ensayo o de producción.