9. Despliegue continuo

Introducción

Integración continua y despliegue continuo

Integración continua (CI), Entrega continua (CD) y Despliegue Continuo (CD)

Integración, entrega y despliegue continuo. Diferencias y similitudes

Es despliegue continuo es desplegar las aplicaciones web lo más pronto posible.

Hay varias formas de hacer eso, las 2 que vamos a comentar son:

Jenkins

GitHub Actions

Contenedor con Jenkins

Jenkins es lo que se llama un "Servidor de automatización".

Hay abundante documentación sobre él , en los siguientes enlaces:

Jenkins: Página del proyecto.

¿Qué es Jenkins? Explicado en menos de 10 min para quienes no lo conocen de nada

Automatiza las tareas de desarrollo e integración continua con Jenkins

Jenkins: tutorial para esta herramienta de CI

Aunque Jenkins pueda parecer sencillo o superfluo, usar Jenkins es el camino para hacer software de calidad.:

GitHub Actions

GitHub Actions que son acciones que se ejecutan cuando hay algún cambio en el repositorio o que incluso se pueden ejecutar como queramos (Al estilo de Jenkins)

Para ello en el código fuente del proyecto Java , hay que añadir el fichero .github/workflows/desplegar.yml con el siguiente contenido:

Ahora al hacer cualquier cambio en la rama master se ejecutará nuestro script de despliegue

Puedes ver un ejemplo en https://github.com/lgonzalezmislata/Facturas/tree/master/.github/workflows

Ejercicios

Ejercicio 1

Añade al repositorio de tu código fuente de Java una acción de GitHhub Actions que sea para desplegar.

Se ejecutará:

Manualmente

Cuando haya un cambio en master