Introducción a Jenkins

Jenkins es una herramienta de integración continua de código abierto escrita en Java. Es una de las herramientas más populares para CI/CD debido a su extensibilidad y la gran cantidad de plugins disponibles. Jenkins permite automatizar partes del desarrollo de software relacionadas con la construcción, prueba y despliegue, facilitando la entrega continua.

Características Clave de Jenkins

  • Automatización de Tareas: Jenkins puede automatizar tareas repetitivas como la construcción y prueba de software.
  • Extensibilidad: Con más de 1,500 plugins disponibles, Jenkins puede integrarse con casi cualquier herramienta de desarrollo.
  • Interfaz de Usuario: Jenkins proporciona una interfaz web intuitiva para configurar y monitorear pipelines.
  • Soporte Multiplataforma: Jenkins se puede ejecutar en diferentes sistemas operativos como Windows, macOS y Linux.

Instalación de Jenkins

Requisitos Previos

  • Java: Jenkins requiere Java para ejecutarse. Asegúrate de tener Java instalado en tu sistema.
  • Servidor Web: Aunque Jenkins tiene su propio servidor web embebido, puede integrarse con servidores como Apache o Nginx.

Pasos de Instalación

  1. Descargar Jenkins:

    • Visita la página oficial de Jenkins: Jenkins Downloads
    • Descarga el archivo correspondiente a tu sistema operativo.
  2. Instalar Jenkins:

    • En sistemas basados en Debian/Ubuntu:
      wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
      sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
      sudo apt-get update
      sudo apt-get install jenkins
      
    • En sistemas basados en Red Hat/CentOS:
      sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
      sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
      sudo yum install jenkins
      
  3. Iniciar Jenkins:

    • Después de la instalación, inicia Jenkins:
      sudo systemctl start jenkins
      
    • Verifica que Jenkins esté corriendo:
      sudo systemctl status jenkins
      
  4. Acceder a Jenkins:

    • Abre un navegador web y navega a http://localhost:8080.
    • Sigue las instrucciones en pantalla para completar la configuración inicial.

Configuración Básica de Jenkins

Desbloqueo Inicial

  • Durante la primera ejecución, Jenkins te pedirá que ingreses una contraseña de administrador que se encuentra en el archivo /var/lib/jenkins/secrets/initialAdminPassword.

Instalación de Plugins

  • Jenkins te ofrecerá instalar plugins recomendados. Puedes optar por instalar los plugins recomendados o seleccionar los que necesites específicamente.

Creación de un Usuario Administrador

  • Después de la instalación de plugins, Jenkins te pedirá que crees un usuario administrador.

Creación de un Pipeline Básico

Conceptos Clave

  • Pipeline: Un conjunto de etapas que definen el proceso de construcción, prueba y despliegue.
  • Jenkinsfile: Un archivo que contiene la definición del pipeline en formato de código.

Ejemplo de Jenkinsfile

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                // Aquí irían los comandos para construir tu aplicación
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                // Aquí irían los comandos para probar tu aplicación
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                // Aquí irían los comandos para desplegar tu aplicación
            }
        }
    }
}

Configuración del Pipeline

  1. Crear un Nuevo Job:

    • En la interfaz de Jenkins, selecciona "New Item".
    • Ingresa un nombre para el job y selecciona "Pipeline".
  2. Definir el Pipeline:

    • En la sección "Pipeline", selecciona "Pipeline script" y copia el contenido del Jenkinsfile de ejemplo.
  3. Guardar y Ejecutar:

    • Guarda la configuración y ejecuta el job para ver el pipeline en acción.

Ejercicio Práctico

Ejercicio: Configuración de un Pipeline Básico

Objetivo

Configurar un pipeline básico en Jenkins que realice las etapas de construcción, prueba y despliegue.

Pasos

  1. Instalar Jenkins siguiendo los pasos mencionados anteriormente.
  2. Crear un nuevo job en Jenkins.
  3. Definir el pipeline utilizando el Jenkinsfile de ejemplo proporcionado.
  4. Ejecutar el pipeline y verificar que las etapas se ejecuten correctamente.

Solución

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                // Aquí irían los comandos para construir tu aplicación
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                // Aquí irían los comandos para probar tu aplicación
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                // Aquí irían los comandos para desplegar tu aplicación
            }
        }
    }
}

Conclusión

En esta sección, hemos cubierto los conceptos básicos de Jenkins, incluyendo su instalación, configuración y la creación de un pipeline básico. Jenkins es una herramienta poderosa y flexible que puede integrarse fácilmente en tu flujo de trabajo de CI/CD. En las siguientes secciones, exploraremos otras herramientas y tecnologías que complementan a Jenkins en el ecosistema de CI/CD.

© Copyright 2024. Todos los derechos reservados