Está en la página 1de 28

Implementación Continua con Jenkins

Alumno:
Julio Cesar Fuentes Lopez
Juan de Dios Castro Espinoza
Jesus Alfonso Valenzuela Lagarda
Docente:
Luis Tadeo Portela Peñuñuri
Grupo:
IDGS10A

Ciudad Obregón, Sonora, 11 de diciembre del 2022


Para iniciar a trabajar con Jenkins lo primero es abrir VirtualBox la herramienta de
virtualización que utilizaremos para emular Ubuntu 18.04.
Dentro de Virtual box lo primero es dar clic en + para abrir el siguiente menú en el
cual seleccionar:

Nombre de la máquina virtual, ubicación que tendrá y el archivo ISO de Ubuntu


18.04, una vez hecho esto dar clic en siguiente.
En la siguiente ventana es posible observar las siguientes opciones que llenaremos
a nuestro gusto:
Es importante seleccionar la casilla de Guest additions, esta permitirá diversas
opciones de integración a la máquina virtual con la máquina real.

En la siguiente ventana tras seleccionar siguiente se mostrarán dos barras para


determinar la cantidad de memoria de acceso aleatorio otorgada por el equipo
principal en este caso se otorgó 4gb/24gb y 4 procesadores..

Al dar clic en siguiente se inicializará otra ventana en la cual no es necesario


cambiar la opción pero si así se desea se puede otorgar otro monto de
almacenamiento a la máquina virtual.
Finalmente se mostrará un sumario de toda la configuración que se ha hecho hasta
el momento, la revisamos para corroborar que sea correcto y damos clic en
terminar.

La maquina virtual se abrira al instante y se mostrará lo siguiente

Una vez se cargue el archivo ISO de Ubuntu será visible su logo


Y comenzará el proceso de instalación de Ubuntu

Ahora se pedirán los datos de usuario en este caso será el usuario jenkinsPC con
contraseña admin123
Hacer lo anterior y dar clic en continuar hará que inicie el proceso de instalación del
sistema operativo Ubuntu 18.04
Finalmente cuando termine el proceso de instalación el equipo virtual va reiniciarse
Listo. Ahora tenemos instalado el sistema operativo, ahora comenzaremos a instalar
lo necesario para Jenkins, el propio Jenkins y las dependencias necesarias.
Antes que nada la instalación de todo se hará bajo el usuario root de la siguiente
manera

Para comenzar, vamos a instalar Jenkins, para esto lo primero es instalar Java de la
siguiente manera

Y una vez terminado verificamos la versión con el comando java --version

Al intentar ejecutar el siguiente comando mediante curl no nos deja debido a que no
lo tiene instalado el equipo, por lo tanto vamos a instalarlo cómo indica

Nos preguntará que si queremos proceder y lo hacemos con la letra Y


Al intentar el comando anterior ahora no envia error ni respuesta

Ahora configuramos el archivo repositorio con la configuración de jenkins

A continuación actualizamos mediante sudo apt update

De igual manera que anteriormente nos preguntará si queremos proceder por lo que
diremos Sí

Una vez terminado el proceso revisamos el estado del servicio


Vemos que está activo y ejecutándose el servicio de Jenkins
Ahora, vamos a habilitar el firewall UFW

Permitimos igualmente el puerto 8080 del protocolo TPC

Recargamos el firewall para verificar los cambios

Ahora hay que confirmar que están abiertos los puertos

Por ultimo para finalizar el proceso de instalación de Jenkins es necesario ingresar


la contraseña root, esta se obtiene de la siguiente manera:
Esa cadena es la contraseña, entraremos a localhost y colocaremos la contraseña
en el campo especificado por Jenkins.

Ahora lo único que falta es configurar.


Para comenzar seleccionaremos la opción estándar(sugerida) de plugins de Jenkins

Una vez instalado Jenkins es necesario instalar una serie de Plugins utilizando la
opción administrar Jenkins.
Una vez terminado y hecho clic en siguiente, se pediran los siguientes datos:

Nos pedirá configurar la instancia y daremos clic en continuar y finalizar


Con lo anterior estará finalizada la instalación de Jenkins
Ahora, vamos a instalar algunas dependencias necesarias para que corra nuestro
proyecto NodeJs, la lista es:

NodeJS es sobre lo que se ejecuta el proyecto

NPM se instala de igual forma que el punto anterior

Express para trabajar en conjunto a NodeJS

Mocha and Chai para realizar las pruebas de forma automatizada

Git es necesario para el manejo de versiones.

SSH para la conexión desde otro equipo, lo instalamos, inicializamos y habilitamos


Ahora configuraremos Jenkins de la siguiente forma:

Dentro de este apartado, hay que bajar y entrar a la opción de administración de


plugins

En este apartado aparecerá un listado con los plugins listos para actualizarse, los
disponibles, instalados y una opción para búsqueda avanzada.

A Partir de este punto el procedimiento consta de seleccionar con el checkbox


aquellos plugins que se instalarán, en total serán los siguientes:
Una vez seleccionados todos estos plugins en el apartado de disponibles, al
seleccionar instalar se mostrará un sumario con el estado de todos los plugins, sus
apis y demás, de forma que se notificará cual fue el resultado final de la instalación
o fase cómo esto:
Ahora con todo instalado en la parte inferior aparecerá una opción que reiniciará
Jenkins para completar el proceso, debes seleccionar el checkbox.

Al hacer eso lanzará la siguiente alerta en la parte superior del sumario.

Y lanzará la siguiente tarea al sumario la cual es reiniciando Jenkins

A continuación se procede a crear un nuevo objeto o proyecto desde el tablero


principal de Jenkins, seleccionando nuevo objeto
Ahora aparecerá un formulario pequeño en el cual debes seleccionar un proyecto de
tipo Freestyle y posteriormente seleccionar el botón de Ok.

Por hacer lo anterior se enviará inmediatamente al menú de configuración, en el


cual lo primero que se debe hacer es introducir una descripción al
proyecto(opcional).
En la siguiente sección llamada administración del código fuente colocarás el
enlace(https) a tu repositorio de GitHub, se configurará la rama de la cual consumirá
el recurso en el caso de GitHub es /main en otros casos puede ser /master.
La siguiente sección a configurar es la llamada constructor de disparadores, en esta
sección se configura la cantidad de tiempo que esperará Jenkins para consultar
nuevamente el repositorio en busca de cambios, en caso de haberlos este los
traerá.

Aquí estamos configurando que Jenkins buscará cambios cada minutos


exactamente.
En la siguiente sección llamada constructor del ambiente no es necesario realizar
una configuración por lo que se deja vacío o deseleccionada cada opción.

Ahora, lo mas importante en la sección para pasos de construcción del proyecto se


añaden 2 shells de windows(en este caso), el primero contiene las siguientes
instrucciones:
★ NPM Install: Este comando va instalar todas las dependencias necesarias
una vez se tenga el proyecto.
★ NPM Run &: Este otro comando va ejecutar el proyecto pero el amperson o &
va hacer que el proyecto permanezca en segundo plano permitiendo el test o
pruebas.
En el segundo terminal por asi llamarlo tendremos el siguiente comando:

★ NPM Test: este comando va a realizar un testing automático, en el caso del


proyecto revisará que este se ejecutó correctamente además de verificar que
imprima el texto “Hello World”.
Una vez configurada esta página se debe dar clic en el botón guardar.

Al ejecutar la configuración anterior se obtuvo de manera exitosa tanto la prueba


cómo la inicialización del proyecto:
---
Ahora instalamos pm2 con el siguiente comando: “sudo npm install -g pm2” para
instalar PM2
Al momento de ejecutar las pruebas y ejecución general se obtuvo el siguiente error
causado por versiones de P2M

Tras cambiar al usuario jenkins e intentar generar una clave SSH mediante el
siguiente comando se obtiene la misma:

Ahora que tenemos la contraseña SSH cómo se puede observar en el terminal


inferior:
Ahora para completar la autenticación entre el servidor Jenkins y servidor de
aplicación nodejs hay que cambiarnos de usuario a shh en el servidor con el
siguiente resultado:

Al continuar con la clave SSH que se generó pide el acceso al usuario


“nodejsdropletip” pero se indica que el usuario no existe y no se puede proceder al
siguiente paso donde se le dará acceso con la clave ssh a la máquina cliente.
Ahora, teniendo la clave SSH generada esta es escrita y guardada dentro del
archivo utilizando VIM:
Para la conexión SSH es necesario instalar el plugin Publish Over SSH y reiniciar

Tutoriales intentados pero que no funcionaron a causa de los últimos errores vistos
en este documento:
https://wiki.jenkins.io/JENKINS/Publish-Over-SSH-Plugin.html

https://stackoverflow.com/questions/57223452/how-do-i-access-the-payload-from-a-
generic-webhook-in-my-jenkinsfile
https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-20-04/#:~:text=How%20to%2
0Enable%20SSH%20on%20Ubuntu%20Perform%20the,your%20system%2C%20m
ake%20sure%20to%20open...%20See%20More

También podría gustarte