Ir al contenido principal

¿QUÉ ES LA INTEGRACIÓN CONTINUA?

 ¿QUÉ ES LA INTEGRACIÓN CONTINUA?


Es la práctica de hacer que todos los que trabajan en el mismo proyecto de software compartan sus cambios en la base de código con regularidad, y luego comprobar que el código sigue funcionando como debería después de cada cambio.

La práctica de la integración continua comienza con la confirmación de los cambios en un sistema de control de versiones/fuentes con regularidad, para que todos construyan sobre la misma base. Cada confirmación desencadena una compilación y una serie de pruebas automatizadas para verificar el comportamiento y asegurar que el cambio no ha estropeado nada.


Prácticas de CI

Los ingredientes clave de la integración continua son los siguientes:

  1. Un sistema de control de fuentes o versiones que contenga todo el código base, incluidos los archivos de código fuente, las bibliotecas, los archivos de configuración y los scripts

  2. Scripts de compilación automatizados

  3. Tests automatizados

  4. Infraestructura en la que ejecutar las compilaciones y las pruebas.


Comentarios

Entradas más populares de este blog

MONITOREO DE SOFTWARE

  MONITOREO DE SOFTWARE Un buen sistema de monitorización es indispensable para optimizar la administración de sistemas IT y ganar en eficiencia. Todos los datos que se guardan en los sistemas de monitorización y logs son realmente importantes tanto para predecir problemas como para ser proactivos. La monitorización permite anticiparse con datos para detectar debilidades y cuellos de botella, mejorar servicios y, por supuesto, evitar y solucionar cualquier problema —incluso antes de que llegue a manifestarse. Disponer de las herramientas adecuadas para monitorizar es tan importante como establecer los procedimientos a seguir y decidir los KPIs (métricas) que hay que controlar. Todo proceso de monitorización y administración de sistemas IT comienza por un estudio previo de las necesidades; que puede ir acompañado, en caso de necesidad, de una auditoría de sistemas y de seguridad. Si la plataforma es nueva, se definirá la arquitectura de sistemas ideal para cada proyecto específico; ...

Preparación del entorno para desarrollo e integración continua

  Entorno de desarrollo Es el lugar dónde programamos, lo más habitual es que esté localizado en la propia máquina de cada desarrollador de forma que varias personas pueden estar trabajando en un mismo proyecto a la vez sin molestarse. Para minimizar incidencias en etapas posteriores es recomendable que este entorno disponga de un software y una configuración lo más parecida posible a la que nos encontraremos en el entorno de producción. Situaciones como desarrollar sobre php 7.2 y que el entorno de producción se encuentre corriendo php 5.6 o hacerlo sobre windows con el driver «x» de sql server y que el servidor de producción sea una máquina linux con el driver «y» suelen acabar generando muchos quebraderos de cabeza fácilmente evitables. Solo cuando el desarrollador completa un código perfectamente funcional e integrable en el entorno de pre-producción y tras realizar las pruebas necesarias para asegurar que el software desarrollado tiene la estabilidad suficiente  se podrá ...

¿QUÉ ES AUTOMATIZACIÓN?

  ¿QUÉ ES AUTOMATIZACIÓN? Las empresas de desarrollo de software buscan la manera de entregar sus productos o mejoras de estos de una forma ágil y fiable a sus clientes. Para lograr este objetivo necesitan automatizar este proceso de entrega o despliegue, es decir, incluir los mecanismos y herramientas necesarias para realizar el despliegue sin la intervención humana.  Implementar herramientas de automatización dentro del proceso de desarrollo de software permite agilizar la entrega de un producto de software al reducir el tiempo invertido en el desarrollo de este. La integración continua, la entrega continua y el despliegue continuo proporcionan un modelo informático automatizado que permite distribuir las aplicaciones de manera más rápida, eficiente y segura.  Ventajas de la automatización en sistemas  La automatización en el desarrollo de software proporciona una serie de beneficios entre los que podemos destacar las siguientes:  Reduce el tiempo necesario pa...