Sitemap

Iniciando con Jenkins

4 min readJun 12, 2022

--

Instalación y configuración de un servidor de integración continua y despliegue continuo.

Press enter or click to view image in full size

Jenkins es un servidor open source para la integración continua. Herramienta utilizada principalmente para compilar y probar proyectos de software de forma continua, lo que facilita, tanto a los desarrolladores como a las operaciones, a integrar cambios en un proyecto y entregar nuevas versiones de una manera agil. Escrito en Java, es multiplataforma y accesible mediante interfaz web. Es el software más utilizado en la actualidad para este propósito.

Instalacion en un servidor Linux

Entorno: RHEL 8 / Centos 8 / Rocky Linux 8

Para instalar un servidor Jenkins en necesario contar con las librerías de JAVA JDK. Realizamos lo siguiente para la instalación:

sudo yum install java-1.8.0-openjdk -y

En el siguiente paso realizamos la instalación del repositorio Jenkins Oficial para distribuciones Redhat / Centos

sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Finlamente, procedemos a la instalación de Jenkins

sudo yum install jenkins -y

Inciamos el servicio y accedemos al puerto 8080 para ver nuestra aplicación en ejecución

sudo systemctl enable jenkins && sudo systemctl start jenkins

Instalacion con Docker / Podman

Para levantar un servicio Jenkins utilizando tecnología de contenedores, es necesario tener un directorio de almacenamiento para mantener los datos persistentes

Vamos a crear un volumen con el nombre de jenkins-data para almacenar los datos del sevicio

sudo podman volume create jenkins-data

Podemos observar la ruta de almacenamiento por defecto de nuestro volumen de datos

sudo podman volume inspect jenkins-data
Press enter or click to view image in full size
jenkins-data

Finalmente iniciamos el contenedor, indicando los siguientes parámetros en la ejecución:

nombre: jenkins
datos: jenkins-data:/var/jenkins_home
puerto: 8080 / 50000
imagen: jenkins/jenkins:lts-jdk1

Iniciamos el contenedor. Y accedemos al puerto 8080 de nuestro servidor

sudo podman run --name jenkins -v jenkins-data:/var/jenkins_home -p 8080:8080 -p 50000:50000 --restart=on-failure -d jenkins/jenkins:jdk11
Press enter or click to view image in full size
jenkins containers

Configuraciones Iniciales

Una vez que tenemos el servicio de Jenkins en ejecución en el puerto 8080, podemos acceder a su página de bienvenida, donde nos solicitara una clave para continuar.

Esta clave se encuentra en el siguiente directorio: /var/jenkins_home/secrets/initialAdminPassword

En el caso de que utilice la instalación por contenedores, puede acceder a directorio de la siguiente manera

sudo podman exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Press enter or click to view image in full size

Indicando la clave solicitada, aparecerá la siguiente ventana, donde tendremos que seleccionar los plugins iniciales para la instalación. En nuestro caso, seleccionaremos los plugins recomendados por defecto

Press enter or click to view image in full size
Press enter or click to view image in full size

El siguiente paso es crear un usuario administrador para el manejo del servicio:

Press enter or click to view image in full size

Finalmente, el servidor Jenkins está instalado y listo para ser utilizado

Press enter or click to view image in full size

Vista general de Jenkins

Dentro de la plataforma, podra acceder a multiples opciones disponibles, como por ejemplo:

Nueva Tarea: Permite generar Jobs o Pipelines utilizando distintas interfaces para la configuración necesaria

Administrar Jenkins: Vista general del Administrador. Permite el acceso y control de todas las configuraciones de Jenkins

Configuraciones: Administracion de Plugins

Un plugin es una funcionalidad extra que una persona ha creado para dar solución a un problema existente y que se integra de forma sencilla con Jenkins. Por ejemplo, mediante un plugin es posible integrar distintos componentes a Jenkins

Para verificar la lista de Plugins disponibles, puede acceder a la siguiente seccion:

Administrar Jenkins > Administrar Plugins

Press enter or click to view image in full size
Press enter or click to view image in full size

Configuraciones: Administración de Instancias / Nodos

Una particularidad importante de Jenkins, es la delegar el trabajo de ejecucion de procesos a diferentes instancias o servidores.

Administrar Jenkins > Administrar Nodos

Press enter or click to view image in full size

Es una buena práctica, configurar distintas instancias para cada tipo de trabajo. También es posible agregar como instancia un servicio de contenedores para que los Jobs se ejecuten como microservicios. Por ejemplo, Kubernetes.

Con esto evitamos que los Jobs de Jenkins se ejecuten en el propio servidor y generen carga innecesaria.

En el siguiente articulo, agregamos un nodo esclavo en Jenkins

--

--

Gerardo Ocampos
Gerardo Ocampos

Written by Gerardo Ocampos

Red Hat Certified Engineer — Red Hat Certified System Administrator — Red Hat Certified Specialist in Containers and Kubernetes. Asunción, Paraguay