Está en la página 1de 14

Actividad 2 semana 5: Herramienta para integración continua (Jenkins)

Presentado por:

Lukas Dariam Zúñiga Perdomo cod: 2011020214


Cristian Camilo Quiroga Ortiz cod: 100251072
Briam David Leyton López cod:1721021029
Jorge Alberto Perea Charris cod: 1811020747
Manuel Gabriel Gomez Mogollon cod: 1721025772

Tutor:

Natalia Martinez

Politécnico Grancolombiano
Integración Continua
15 de junio de 2021
Contenido
¿Cómo integra Jenkins como un gestor de operaciones? ....................................................... 2
¿Qué es un gestor de operaciones? ......................................................................................... 3
Pasos para implementar Jenkins ............................................................................................. 4
Referencias ........................................................................................................................... 13

¿Cómo integra Jenkins como un gestor de operaciones?

Jenkins es una aplicación de automatización completa para el proceso de desarrollo de

software, por lo cual este software nos permite tener controlado, de forma automática, el

despliegue de la producción de un proyecto de desarrollo, nos permite controlar procesos

sin estar pendiente de ellos, actualización de entornos, revisión de calidad del código y

testeo de estos mismos, esto nos indica que nos permite tener actualizados los productos de

entrega al cliente solicitar uno en un momento cualquiera, lo que este software nos podría

permitir garantizar a nuestro cliente un producto funcional y listo para ser revisado y

encontrar posibles mejoras cada vez que sea requerido por ellos.

Jenkins como software de este tipo, nos permite ser un gestor de operaciones por medio de

plugin que nos permiten encapsular y extender su funcionalidad según nuestra necesidad

de gestión de operaciones, ya que Jenkins cuenta con una comunidad bastante extensa,

donde cualquier persona de ella puede desarrollar una nueva funcionalidad a través de un

plugin, estos módulos le permiten a Jenkins encargarse de cualquier tarea para la que se
haya programado, lo que nos da la posibilidad de utilizar cualquier plugin para nuestro

requerimiento.

Lo que realiza Jenkins como gestor de operaciones es hacer builds del software del

proyecto periódicamente y comprobar que funcionen correctamente, para conseguir un

producto final más fiable, con menos fallos en producción. Con Jenkins sabes qué funciona,

qué no y qué errores hay, también nos sirve para monitorizar la calidad del código que

escribimos con nuestro equipo y realiza las respectivas pruebas.

¿Qué es un gestor de operaciones?

Comúnmente el término se conoce como un rol dentro de una empresa. La gestión de

operaciones se conoce principalmente por encargarse de encontrar la manera mas eficiente

en calidad y costos para brindar productos y servicios dentro de una empresa, esto se logra

mediante un gestor de operaciones que se encarga de la logística en cuanto a la supervisión

y acompañamiento de los distintos procesos que se llevan a cabo para la fabricación del

producto final.

El gestor de operaciones suele encargarse de verificar entregas de productos o prestaciones

de servicio, también, como se menciona anteriormente revisa cada procesos que se hace

para así recolectar la información necesaria y analizar todo de manera que se puedan

planificar estrategias, cambios o reestructuraciones completas acerca del qué y cómo se

hace algo para optimizar al máximo los recursos que se tienen disponibles, aumentar la
calidad y también la eficiencia con esto se lograría tener mas ventas, por lo tanto más

ganancias.

Pasos para implementar Jenkins

Jenkins es un servidor de integración continua, gratuito, open source y actualmente uno de

los más empleados para esta función. La base de Jenkins son las tareas, donde indicamos qué

es lo que hay que hacer en un build o comppilado. Por ejemplo, podríamos ejecutar una tarea

en la que se compruebe el repositorio de control de versiones por lapso de tiempo y cuando

un desarrollador quiera subir su código al control de versiones, este se compile y se ejecuten

las pruebas.

Si el resultado no es el esperado o hay algún error, Jenkins notificará al desarrollador, al

equipo de QA, por email o cualquier otro medio, para que lo solucione. Si el build es correcto,

podremos indicar a Jenkins que intente integrar el código y subirlo al repositorio de control

de versiones.

Para el presente ejercicio instalaremos Jenkins en un sistema operativo iOS, iniciamos

abriendo una terminal y teclenado el comando $ brew install jenkins-lts


Ilustración 1 - Comandos para intalar Jenkins

Una vez ejecutado, verificamos que version de Jenkins fue instalada en nuestra maquina

mediante el comando $ jenkins-lts –version, en el presente ejercicio instalamos al ultima

version disponible la 2.289.1

Ilustración 2 - Version instalada del Jenkins

Porteriormente y ya instalado, comprobada la instalacion del Jenkins procedemos a subir el

servicio mediante el comando $ brew services start jenkins-lts, esto permitira iniciar las

librerias necesarias para en uso de dicho programa.

Ilustración 3 - inicializando Jenkins


Iniciado el servicio, nos dirigimos al navegador en la url teclaemos el localhost de nuestroa

maquina apuntando hacia el puerto 8080. El servicio de Jenkins corre por defecto en este

ultimo puerto.

Ilustración 4 - pagina inicio Jenkins

En la pagina de inicio, tenemos que introducir la contraseña que Jenkins nos asigna por

defecto, para esto nos dirigimos a un directorio en particular, el directorio /secrets en el

cual se encuentra el archivo initialAdminPassword, este ultimo contiene la contraseña que

genera jenkins por defecto al usuario Admin.


Ilustración 5 - Directorio donde se encuentra el password

Ilustración 6 - apertura del archivo initialAdminPassword

En este momento debemos estar dentro de Jenkins, listo para usar, por defecto antedicho

herramienta inicia en el panel de control en blanco, es decir sin ninguna tarea asignada, asi

como personas cargadas.


Ilustración 7 - Dashboard Jenkins

Pasos para el despliegue


Configuración Jenkins

Hemos accedido a la opción “Credentials” y seleccionamos la credencial


principal “System” seguida de la opción “Global credentials” aquí crearemos una nueva
credencial.

También necesitamos una cuenta de docker la cual creamos en este link, la cual
necesitamos para almacenar nuestra imagen en un repositorio.
Te recomendamos usar el ID dockerhub dentro de tu credencial, para que puedas
identificarla y referenciarla de manera más sencilla.

Creamos un repositorio dentro de nuestro dockerhub el cual utilizaremos mas adelante.

Configuración pipeline
Por último entramos a la sección del script del pipeline
Dentro de las variables de entorno hemos agregado dos más, correspondientes al repositorio
de docker hub que previamente creamos y al ID de las credenciales:

environment {
PRAGMA_USER = "leyton"
PROJECT_ROOT = "practicaIntegracionContinua"
EMAIL_ADDRESS = "brleyton@poligran.edu.co"
REGISTRY = "leyton/devops"
REGISTRY_CREDENTIAL = "dockerhub"
}
. Ahora agregamos el nuevo stage, justo posteriormente al stage scan
stage("build-image"){
steps{
sh "docker build -t ${REGISTRY}:${BUILD_NUMBER} ."
}
}

Por último hicimos clic en Apply y finalmente en Guardar.

Ahora, al ejecutar el pipeline tendremos la nueva etapa, accedemos al log para validar la
creación de la imagen

Validamos la creación la creación de la imagen con el comando docker images desde la


consola de la máquina.
Stage: Deploy
Para finalizar hemos agregado una última etapa a nuestro pipeline

stage("deploy") {
steps {
sh "docker run -p 8090:8090 ${REGISTRY}:${BUILD_NUMBER}"
}docker
}

Construimos el pipeline con este último cambio, en la consola se ve la imagen de docker


corriendo para hacer nuestro seguimiento.
Características necesarias para implementar Jenkins

Jenkins corre en entornos web de forma local y/o remota en un servidor web de la

propiedad de la organización que lo quiera implementar, cabe resaltar que es neesario tener

unos requerimientos bases como son:

Java 8

4gb de RAM (como minimo)

500 gb almacenamiento

Esto requerimientos dependen para que se quiere implementar y que se quiere tener

planeado hacer con Jenkins, es indispensable adaptar la maquina donde va a correr acuerdo

el numero de usuarios que va a interactuar con el software, lo mas importante es contar con

un buen ancho de banda para su normal funcionamiento.

Jenkins por ser una herramienta indispensable para la mejora continua e integracion, unos

de sus plugins estrellas es docker, por eso es indispensable contar con una cuenta en dicha

plataforma, para poder hacer una excelente destresa del mismo.

Conclusiones
Durante el desarrollo de la investigación se descubre la gran utilidad de la herramienta

Jenkins que nos da la posibilidad asegurar un mínimo de calidad de nuestros proyectos. Es

una excelente herramienta para ser utilizada en empresas con grandes equipos de trabajo o

si se trabaja con un equipo pequeño, ya que igual y en cualquiera de los dos casos se

necesita de la implementación de la integración continua ayudando a acelelar el proceso de

pruebas y compilación del proyecto aparte de que acompaña la gestión en todas la fases de

desarrollo del proyecto y de asegura ese mínimo de calidad mencionado anteriormente

también le brinda una mayor eficiencia al desarrollo optimizando el tiempo automatizando

varios procesos complejos. pueden ser consideradas herramientas como Jira (Por Atassian),

GitLab(Por GitLab) o AppCircle( Por SmartFace) que tienen un desempeño similar a

Jenkins.

Referencias

Bonnie, E. (2017, 24 marzo). Introducción a la gestión de operaciones. wrike.

https://www.wrike.com/es/blog/introduccion-la-gestion-de-operaciones/

Conceptos de gestión de operaciones aplicado empresas de desarrollo de software. (2011,

11 noviembre). Gestión de operaciones en Desarrollo de Software.

https://www.eoi.es/blogs/diegoacosta/2011/11/11/conceptos-de-gestion-de-

operaciones-aplicado-al-empresas-desarrollo-de-software/

J. (2014, 9 mayo). ¿Qué es Jenkins? Explicado en menos de 10 min para quienes no lo

conocen de nada. Javier Garzas.

https://www.javiergarzas.com/2014/05/jenkins.html
Royo, D. (2020, 15 septiembre). Jenkins: Cómo automatizar tareas, despliegues y testing.

Blog de Hiberus Tecnología. https://www.hiberus.com/crecemos-contigo/jenkins-

como-automatizar-tareas-despliegues-testing/

También podría gustarte