Integración de Jenkins con Control de Código Fuente (Git)

JenkinsBeginner
Practicar Ahora

Introducción

Bienvenidos a este laboratorio sobre la integración de Jenkins con Git. La Gestión de Control de Código Fuente (SCM, por sus siglas en inglés) es una piedra angular del desarrollo de software moderno. Integrar su servidor de Integración Continua (CI, por sus siglas en inglés), como Jenkins, con un sistema SCM, como Git, es un paso fundamental para automatizar sus procesos de compilación y prueba.

En este laboratorio, aprenderá a:

  • Verificar que el plugin de Git de Jenkins esté disponible.
  • Crear un proyecto Freestyle (Estilo Libre) vinculado a un repositorio Git local.
  • Añadir un paso de compilación para ejecutar un script desde el repositorio.
  • Ejecutar una compilación manualmente para probar la configuración.
  • Configurar el sondeo SCM (SCM polling) para activar compilaciones automáticamente ante nuevos commits.

Una instancia de Jenkins ya se está ejecutando para este laboratorio. Puede acceder a la interfaz web de Jenkins abriendo el navegador Firefox en el escritorio. El navegador se abrirá automáticamente en http://localhost:8080, por lo que no necesita introducir la URL manualmente. No se requiere inicio de sesión (login).

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de reseñas positivas del 97% por parte de los estudiantes.

Verificar el Plugin Git

Jenkins viene con integración de Git incorporada. El plugin de Git ya está instalado por defecto, lo que permite a Jenkins interactuar con repositorios Git. Verifiquemos que el plugin de Git está disponible.

  1. Abre el navegador Firefox desde la interfaz de escritorio. El navegador se abrirá automáticamente en http://localhost:8080, por lo que no necesitas introducir la URL manualmente. No se requiere iniciar sesión.
  2. En el panel de control (dashboard) de Jenkins, haz clic en el icono del engranaje (botón de configuración) en la esquina superior derecha.
  3. En la página de configuración, busca y haz clic en Plugins.
  4. Selecciona la pestaña Installed plugins (Plugins instalados).
  5. En el cuadro de búsqueda de la derecha, escribe Git para filtrar los plugins instalados.
  6. Deberías ver el Git plugin listado entre los plugins instalados, lo que confirma que la integración de Git está disponible.
Jenkins installed plugins page

Una vez confirmado que el plugin de Git está disponible, puedes proceder al siguiente paso para crear un proyecto que utilice Git.

Crear un Proyecto y Configurar SCM Git

Con el plugin Git instalado, ahora puede crear un proyecto de Jenkins y configurarlo para extraer código fuente de un repositorio Git.

  1. Regrese al panel principal de Jenkins haciendo clic en el enlace Dashboard (Panel) en la navegación de migas de pan (breadcrumb navigation) en la parte superior izquierda.
  2. Haga clic en New Item (Nuevo Elemento) en la barra lateral izquierda.
  3. Introduzca git-integration-project como nombre del elemento.
  4. Seleccione Freestyle project (Proyecto Freestyle).
  5. Haga clic en OK.

Esto le llevará a la página de configuración del proyecto.

  1. Desplácese hacia abajo hasta la sección Source Code Management (Gestión del Código Fuente).
  2. Seleccione la opción Git. Si no ve esta opción, por favor, verifique que el plugin Git se instaló correctamente en el paso anterior.
  3. En el campo Repository URL (URL del Repositorio), introduzca la ruta absoluta al repositorio Git local preparado para usted:
https://github.com/labex-labs/git-playground
  1. Deje el Branch Specifier (Especificador de Rama) como el valor predeterminado, */master. Esto indica a Jenkins que utilice la rama master.
  2. Haga clic en el botón Save (Guardar) en la parte inferior de la página.
Sección de Gestión del Código Fuente en la configuración del proyecto

Ha creado con éxito un trabajo de Jenkins vinculado a un repositorio Git. En el siguiente paso, definirá qué debe hacer el trabajo con el código.

Añadir un Paso de Compilación y Ejecutar una Compilación Manual

Ahora que Jenkins sabe de dónde obtener el código, necesita indicarle qué hacer con ese código. Añadirá un paso de compilación con comandos de shell y luego ejecutará una compilación manualmente para probarla.

  1. En la página del proyecto git-integration-project, haga clic en Configure (Configurar) en la barra lateral izquierda.
  2. Desplácese hacia abajo hasta la sección Build Steps (Pasos de Compilación).
  3. Haga clic en el menú desplegable Add build step (Añadir paso de compilación) y seleccione Execute shell (Ejecutar shell).
  4. En el área de texto Command (Comando), introduzca los siguientes comandos de compilación:
echo "Building the project..."
date
echo "Listing files in workspace:"
ls -la
echo "Build complete!"

Cuando se ejecute el trabajo, Jenkins primero clonará el repositorio Git en su espacio de trabajo (workspace) y luego ejecutará estos comandos desde dentro de ese espacio de trabajo.

  1. Haga clic en Save (Guardar).
  2. Ahora está de vuelta en la página del proyecto. Haga clic en Build Now (Compilar Ahora) en la barra lateral izquierda para iniciar una compilación.

Aparecerá una nueva compilación en el panel Build History (Historial de Compilaciones). Espere a que se complete (el icono de estado se pondrá azul para indicar éxito).

  1. Haga clic en el número de compilación (por ejemplo, #1).
  2. Haga clic en Console Output (Salida de Consola) en el menú de la compilación.
Historial de Compilaciones

Debería ver una salida que confirma que Jenkins clonó el repositorio y ejecutó sus comandos con éxito.

Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/git-integration-project
 > git rev-parse --resolve-git-dir /var/jenkins_home/workspace/git-integration-project/.git ## timeout=10
...
[git-integration-project] $ /bin/sh -xe /tmp/jenkins123.sh
+ echo Building the project...
Building the project...
+ date
Mon Jan 1 12:01:00 UTC 2024
+ echo Listing files in workspace:
Listing files in workspace:
+ ls -la
total 24
drwxr-xr-x 3 jenkins jenkins 4096 Aug 21 10:33 .
drwxr-xr-x 3 jenkins jenkins 4096 Aug 21 10:33 ..
drwxr-xr-x 8 jenkins jenkins 4096 Aug 21 10:33 .git
-rw-r--r-- 1 jenkins jenkins   32 Aug 21 10:33 README.md
-rw-r--r-- 1 jenkins jenkins   15 Aug 21 10:33 file1.txt
-rw-r--r-- 1 jenkins jenkins   15 Aug 21 10:33 file2.txt
+ echo Build complete!
Build complete!
Finished: SUCCESS

Habilitar Compilaciones Automáticas con Sondeo SCM

Ejecutar compilaciones manualmente es útil para probar, pero el verdadero poder de la Integración Continua (CI) es la automatización. En este paso, configurará Jenkins para que inicie automáticamente una compilación cada vez que se detecte un cambio en el repositorio Git.

  1. Navegue de regreso a la página de configuración del proyecto git-integration-project (Página del Proyecto > Configure (Configurar)).
  2. Desplácese hacia abajo hasta la sección Build Triggers (Disparadores de Compilación).
  3. Marque la casilla junto a Poll SCM (Consultar SCM).
  4. Aparecerá un cuadro de texto Schedule (Programación). Este utiliza la sintaxis cron para definir con qué frecuencia Jenkins debe verificar el repositorio en busca de cambios. Para consultar cada minuto, introduzca lo siguiente:
* * * * *
  1. Haga clic en Save (Guardar).

Dado que estamos utilizando un repositorio remoto de GitHub (https://github.com/labex-labs/git-playground), no podemos modificarlo directamente para probar el disparador de sondeo (polling trigger). Sin embargo, puede observar cómo funciona el sondeo SCM:

  1. Regrese a la interfaz de usuario de Jenkins y vaya a la página git-integration-project.
  2. En la barra lateral izquierda, verá una nueva opción llamada Git Polling Log (Registro de Sondeo Git). Haga clic en ella.
  3. Esta página muestra la actividad de sondeo. Debería ver entradas como:
Started on Aug 21, 2025, 10:36:00 AM
Using strategy: Default
[poll] Last Built Revision: Revision d22f46ba8c2d4e07d773c5126e9c803933eb5898 (refs/remotes/origin/master)
The recommended git tool is: NONE
No credentials specified
 > git --version ## timeout=10
 > git --version ## 'git version 2.30.2'
 > git ls-remote -h -- https://github.com/labex-labs/git-playground ## timeout=10
Found 3 remote heads on https://github.com/labex-labs/git-playground
[poll] Latest remote head revision on refs/heads/master is: d22f46ba8c2d4e07d773c5126e9c803933eb5898 - already built by 1
Done. Took 0.36 sec
No changes

Esto demuestra que Jenkins está consultando correctamente el repositorio remoto en busca de cambios cada minuto. En un escenario del mundo real, cuando se envían nuevos commits al repositorio, Jenkins activaría automáticamente una nueva compilación.

  1. También puede activar manualmente otra compilación haciendo clic en Build Now (Compilar Ahora) para ver cómo se integra el sistema de sondeo con las compilaciones manuales.

Resumen

En este laboratorio, adquirió experiencia práctica con una de las integraciones más críticas en un pipeline de CI: conectar Jenkins a un repositorio de control de código fuente Git.

Ha logrado con éxito:

  • Verificar que el plugin Git esencial está disponible para habilitar las capacidades de integración de Git de Jenkins.
  • Crear un proyecto Freestyle y configurarlo para extraer código de un repositorio Git.
  • Definir un paso de compilación para ejecutar un script de shell desde el código extraído.
  • Verificar la configuración ejecutando una compilación manual.
  • Configurar un disparador de compilación automático utilizando Poll SCM (Consultar SCM), que permite a Jenkins detectar y compilar nuevos commits automáticamente.

Estas habilidades son fundamentales para automatizar su flujo de trabajo de desarrollo y son el primer paso para construir un pipeline de CI/CD robusto y eficiente con Jenkins.