Introducción
Bienvenido a este laboratorio sobre la configuración de proyectos Freestyle básicos en Jenkins. El proyecto Freestyle es una opción en Jenkins altamente flexible y fácil de usar, adecuada para cualquier tipo de proyecto. Te permite configurar disparadores de compilación, pasos de compilación y acciones posteriores a la compilación a través de una interfaz gráfica basada en web.
En este laboratorio, aprenderás a:
- Añadir pasos de compilación mediante comandos de shell a un proyecto.
- Programar compilaciones para que se ejecuten automáticamente mediante disparadores.
- Archivar artefactos de compilación para su uso posterior.
- Configurar acciones posteriores a la compilación, como la limpieza del espacio de trabajo.
Ya hay una instancia de Jenkins en ejecución y se ha creado un proyecto Freestyle básico llamado sample-project para ti. Puedes 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 necesitas ingresar la URL manualmente. No se requiere inicio de sesión.
Añadir un paso de compilación
En este paso, añadirás un paso de compilación a tu proyecto Freestyle. Los pasos de compilació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, naveguemos a la página de configuración del proyecto.
- Abre el navegador Firefox desde la interfaz del escritorio. El navegador se abrirá automáticamente en
http://localhost:8080, por lo que no necesitas ingresar la URL manualmente. No se requiere inicio de sesión. - En el panel de control de Jenkins, verás el
sample-project. Haz clic en su nombre para ir a la página del proyecto. - En el menú de la izquierda, haz clic en Configure.

Ahora estás en la página de configuración del proyecto. Vamos a añadir un paso de compilación.
- Desplázate hacia abajo hasta la sección Build Steps.
- Haz clic en el botón desplegable Add build step y selecciona Execute shell.

- Aparecerá un cuadro de texto. Ingresa los siguientes comandos en el cuadro Command:
echo "Building the project..."
date
echo "Build complete."
- Haz clic en el botón Save en la parte inferior de la página.
Ahora has configurado un paso de compilación. Vamos a ejecutar la compilación para verla en acción.
- En la página del proyecto, haz clic en Build Now en el menú de la izquierda.
- Aparecerá una nueva compilación en la sección Build History. Haz clic en el número de compilación (por ejemplo,
#1). - En el menú de la izquierda de esa compilación, haz clic en Console Output.
Verás la salida de los comandos de shell que añadiste, lo que confirma que tu paso de compilación se ejecutó correctamente.
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ás a programar compilaciones automáticamente mediante disparadores de compilación. Esta es una característica fundamental para la integración continua, que te permite ejecutar compilaciones periódicamente.
- Navega de regreso a la página de configuración de
sample-project(Página del proyecto > Configure). - Busca la sección Triggers.
- Marca la casilla junto a Build periodically.

- Aparecerá un área de texto Schedule. Este campo utiliza la sintaxis cron para definir la programación. La sintaxis consta de 5 campos separados por espacios:
MINUTE HOUR DAYOFMONTH MONTH DAYOFWEEK. - Para ejecutar la compilación aproximadamente cada minuto, ingresa lo siguiente en el campo Schedule:
* * * * *
Esta expresión cron significa "ejecutar cada minuto". Aunque Jenkins admite 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, utiliza * * * * *.
- Haz clic en Save.
Jenkins ahora activará automáticamente una nueva compilación para sample-project aproximadamente una vez cada minuto. Puedes observar esto viendo el Build History en la página del proyecto.
Archivar artefactos de compilación
En este paso, aprenderás 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.
- Navega a la página de configuración de
sample-project. - Desplázate a la sección Build Steps y busca tu cuadro de comando Execute shell.
- Añade una nueva línea al script para crear un archivo llamado
build-info.txt. La variable$BUILD_NUMBERes 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 para archivar este archivo.
- Desplázate hacia abajo hasta la sección Post-build Actions.
- Haz clic en el menú desplegable Add post-build action y selecciona Archive the artifacts.

- En el campo Files to archive, ingresa el nombre del archivo que deseas archivar:
build-info.txt. También puedes usar comodines como**/*.jarpara archivar múltiples archivos. - Haz clic en Save.

Ahora, ejecuta una nueva compilación haciendo clic en Build Now. Una vez que la compilación se complete:
- Haz clic en el número de la compilación más reciente en el Build History.
- En la página de estado de la compilación, verás una sección llamada Build Artifacts con un enlace a
build-info.txt. Puedes hacer clic en él para ver o descargar el archivo.

Configurar la limpieza del espacio de trabajo
En este paso final de configuración, añadirás una acción posterior a la compilación para limpiar el espacio de trabajo. 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.
- Ve a la página de configuración de
sample-project. - Desplázate hacia abajo hasta la sección Post-build Actions.
- Haz clic en el menú desplegable Add post-build action y selecciona Delete workspace when build is done.

- Haz clic en Save.

Ahora, después de que cada compilación de sample-project se complete, Jenkins eliminará todos los archivos en el directorio del espacio de trabajo. Ten 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 tus artefactos de compilación permanezcan disponibles mientras se mantiene el entorno de compilación limpio para la siguiente ejecución.
Resumen
¡Felicidades por completar este laboratorio! Has aprendido con éxito los fundamentos de la configuración de un proyecto Freestyle en Jenkins.
En este laboratorio, practicaste:
- Añadir un comando Execute shell como paso de compilación.
- Configurar un Build Trigger para programar compilaciones periódicamente usando sintaxis cron.
- Crear y archivar artefactos de compilación.
- Configurar una Post-build Action para eliminar el espacio de trabajo después de una compilación.
Estas son habilidades esenciales para automatizar tus procesos de compilación, prueba y despliegue con Jenkins. Ahora puedes aplicar estos conceptos para crear y gestionar tus propios pipelines de CI/CD.

