Apuntes sobre Integración Continua y Despliegue Continuo
El contenido relata a modo de apuntes y recordatorio el proceso de Integración Continua y Despliegue Continuo.
El objetivo es crear un proyecto a modo de prototipo donde se pretende reproducir de forma reducida el proceso real de IC y DC.
En el proyecto se utilizara: Jenkins, Git, Github.com, Phing.
Esquema del proyecto
Se desarrollara todo en un entorno local a excepción de la parte de Github. La idea es tener un proyecto el cual en una carpeta dev se lleve a cabo diferentes modificaciones, estas se actualice en el repositorio en una rama especifica de desarrollo, Jenkins ejecutara el test y la creación de diferentes intermedias y finales para finalmente desplegar en una carpeta de pro mediante contenedores con el proyecto funcionando.
Diagrama conceptual del escenario ...
Tareas del proceso.
- Desarrollador : Crea el código, gestiona su sistema de versiones. (Mediante Docker)
- Jenkins: comprueba de forma periódica, si el repositorio ha tenido algún cambio en la rama de desarrollo.
- Phing: En el caso de haber cambios se inicia el proceso de test.
- Jenkins: Comprueba que Phing a finalizado con éxito, procede a crear nuevas versiones.
- Jenkins: Inicia el proceso de Despliegue de la nueva versión de producción (Mediante Docker).
Durante el proceso los resultados deben ser correctos. En caso de producir algún error, el proceso se detiene. Debe devuelve una comunicación al equipo desarrollador, para notificar el incidente de forma detallada.
Archivos
Estos apuntes se han realizado en base a los siguientes archivos:
https://github.com/Didweb/NeuSystem