Configuración de Proyectos Freestyle Básicos

JenkinsBeginner
Practicar Ahora

Introducción

Bienvenidos a este laboratorio sobre la configuración de proyectos Freestyle básicos en Jenkins. El proyecto Freestyle es una opción muy flexible y fácil de usar en Jenkins, adecuada para cualquier tipo de proyecto. Permite configurar disparadores de compilación (build triggers), pasos de compilación (build steps) y acciones posteriores a la compilación (post-build actions) a través de una interfaz gráfica basada en web.

En este laboratorio, aprenderá a:

  • Añadir pasos de compilación de comandos shell a un proyecto.
  • Programar compilaciones para que se ejecuten automáticamente utilizando disparadores (triggers).
  • Archivar artefactos de compilación para su uso posterior.
  • Configurar acciones posteriores a la compilación, como la limpieza del espacio de trabajo (workspace cleanup).

Ya hay una instancia de Jenkins en ejecución, y se ha creado un proyecto Freestyle básico llamado sample-project para usted. 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).

Añadir un Paso de Compilación

En este paso, añadirás un paso de construcción (build step) a tu proyecto Freestyle. Los pasos de construcción son el núcleo de un proyecto, ya que definen las acciones que Jenkins realizará, como compilar código, ejecutar pruebas o ejecutar scripts de shell.

Primero, vamos a navegar a la página de configuración del proyecto.

  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, verás el proyecto sample-project. Haz clic en su nombre para ir a la página del proyecto.
  3. En el menú de la izquierda, haz clic en Configure (Configurar).
Jenkins project page

Ahora estás en la página de configuración del proyecto. Vamos a añadir un paso de construcción.

  1. Desplázate hacia abajo hasta la sección Build Steps (Pasos de Construcción).
  2. Haz clic en el botón desplegable Add build step (Añadir paso de construcción) y selecciona Execute shell (Ejecutar shell).
Build Steps section
  1. Aparecerá un cuadro de texto. Introduce los siguientes comandos en el cuadro Command (Comando):
echo "Building the project..."
date
echo "Build complete."
  1. Haz clic en el botón Save (Guardar) en la parte inferior de la página.

Ahora has configurado un paso de construcción. Vamos a ejecutar la construcción (build) para verlo en acción.

  1. En la página del proyecto, haz clic en Build Now (Construir Ahora) en el menú de la izquierda.
  2. Aparecerá una nueva construcción en la sección Build History (Historial de Construcciones). Haz clic en el número de la construcción (por ejemplo, #1).
  3. En el menú de la izquierda para esa construcción, haz clic en Console Output (Salida de Consola).

Verás la salida de los comandos shell que añadiste, lo que confirma que tu paso de construcción se ejecutó con éxito.

Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/sample-project
[sample-project] $ /bin/sh -xe /tmp/jenkins12345.sh
+ echo 'Building the project...'
Building the project...
+ date
Tue Jan 1 12:00:00 UTC 2024
+ echo 'Build complete.'
Build complete.
Finished: SUCCESS

Programar Compilaciones con Disparadores

En este paso, aprenderá a programar compilaciones automáticamente utilizando disparadores de compilación (build triggers). Esta es una característica fundamental para la integración continua, ya que le permite ejecutar compilaciones periódicamente.

  1. Navegue de vuelta a la página de configuración de sample-project (Página del Proyecto > Configure).
  2. Busque la sección Build Triggers.
  3. Marque la casilla junto a Build periodically.
Build Triggers section
  1. Aparecerá un área de texto Schedule. Este campo utiliza la sintaxis cron para definir el horario. La sintaxis consta de 5 campos separados por espacios: MINUTO HORA DÍADELMES MES DÍADELASEMANA.
  2. Para ejecutar la compilación aproximadamente cada minuto, introduzca lo siguiente en el campo Schedule:
* * * * *

Esta expresión cron significa "ejecutar cada minuto". Aunque Jenkins soporta el símbolo H para la distribución de carga, H/1 * * * * en realidad se ejecuta una vez por hora, no cada minuto. Para ejecutar realmente cada minuto, use * * * * *.

  1. Haga clic en Save.

Jenkins ahora activará automáticamente una nueva compilación para sample-project aproximadamente una vez por minuto. Puede observar esto vigilando el Build History en la página del proyecto.

Archivar Artefactos de Compilación

En este paso, aprenderá a archivar artefactos de compilación. Los artefactos son los archivos de salida producidos por una compilación, como binarios compilados o informes. Archivarlos los hace disponibles para su descarga una vez que la compilación se completa.

Primero, necesitamos modificar nuestro paso de compilación para crear un archivo que podamos archivar.

  1. Navegue a la página de configuración de sample-project.
  2. Desplácese hasta la sección Build Steps y encuentre su cuadro de comando Execute shell.
  3. Añada una nueva línea al script para crear un archivo llamado build-info.txt. $BUILD_NUMBER es una variable de entorno proporcionada por Jenkins que contiene el número de compilación actual.
echo "Building the project..."
date
echo "Build complete."
echo "This artifact is from build #$BUILD_NUMBER" > build-info.txt

A continuación, configuremos una acción posterior a la compilación (post-build action) para archivar este archivo.

  1. Desplácese hacia abajo hasta la sección Post-build Actions.
  2. Haga clic en el desplegable Add post-build action y seleccione Archive the artifacts.
Add post-build action dropdown
  1. En el campo Files to archive, introduzca el nombre del archivo que desea archivar: build-info.txt. También puede usar comodines como **/*.jar para archivar varios archivos.
  2. Haga clic en Save.

Ahora, ejecute una nueva compilación haciendo clic en Build Now. Una vez que la compilación se complete:

  1. Haga clic en el último número de compilación en el Build History.
  2. En la página de estado de la compilación, verá una sección llamada Build Artifacts con un enlace a build-info.txt. Puede hacer clic en él para ver o descargar el archivo.
Completed build page

Configurar Limpieza del Espacio de Trabajo

En este paso de configuración final, añadirá una acción posterior a la compilación (post-build action) para limpiar el espacio de trabajo (workspace). Esta es una buena práctica para ahorrar espacio en disco y asegurar que cada compilación comience en un entorno limpio, evitando interferencias de archivos generados en compilaciones anteriores.

  1. Vaya a la página de configuración de sample-project.
  2. Desplácese hasta la sección Post-build Actions.
  3. Haga clic en el desplegable Add post-build action y seleccione Delete workspace when build is done.
Add post-build action dropdown
  1. Haga clic en Save.

Ahora, después de que cada compilación de sample-project se complete, Jenkins eliminará todos los archivos del directorio del espacio de trabajo (workspace). Tenga en cuenta que los artefactos archivados se almacenan por separado y no se ven afectados por la limpieza del espacio de trabajo. Esto asegura que sus artefactos de compilación permanezcan disponibles mientras se mantiene el entorno de compilación limpio para la próxima ejecución.

Resumen

Felicitaciones por completar este laboratorio. Ha aprendido con éxito los fundamentos de la configuración de un proyecto Freestyle de Jenkins.

En este laboratorio, practicó:

  • Añadir un comando Execute shell como paso de compilación (build step).
  • Configurar un Build Trigger para programar compilaciones periódicamente utilizando sintaxis cron.
  • Crear y archivar artefactos de compilación (build artifacts).
  • Configurar una Post-build Action para eliminar el espacio de trabajo (workspace) después de una compilación.

Estas son habilidades esenciales para automatizar sus procesos de compilación, prueba y despliegue con Jenkins. Ahora puede aplicar estos conceptos para crear y gestionar sus propias pipelines de CI/CD.