Introducción
Walk Weekender está preparando materiales para los visitantes de un evento ficticio junto al río. El paquete contiene un pequeño sitio web, una ilustración de la ruta, un CSV de paradas y notas para los visitantes. Jenkins ya dispone de un generador de paquetes que funciona, pero su espacio de trabajo temporal se vacía después de cada ejecución. Tu tarea es conservar un resultado completo y descargable asociado a su ejecución.
Este laboratorio presupone conocimientos básicos de navegación en Jenkins, la capacidad de reconocer un Pipeline declarativo breve y conocimientos básicos de manejo de archivos, incluida la extracción de un ZIP. Explica el archivado, las huellas digitales y el ciclo de vida del espacio de trabajo antes de que los utilices. No necesitas escribir el sitio web, instalar software ni conocer Java.
Usa Pack Desk para la experiencia de referencia del visitante y Jenkins para las ejecuciones y la configuración. Son dos servicios en una misma máquina virtual preparada. Las descargas del navegador se guardan en tu ordenador, por separado de los archivos de Jenkins en la máquina virtual de prácticas. Cada unidad comienza de forma independiente. La duración es una estimación del autor que incluye la lectura y los errores habituales; no se ha medido con principiantes.
Observa dónde van los archivos generados
En este paso inspeccionarás los materiales esperados para los visitantes, ejecutarás el trabajo original y verás por qué una ejecución correcta no deja automáticamente un paquete descargable. Empieza en Pack Desk.
La solicitud corresponde a Riverwalk Saturday, edición para visitantes RW-02. En la sección Reference visitor pack, selecciona Open the reference pack. La referencia muestra la experiencia esperada del visitante; tu entrega será el ZIP conservado por tu propia ejecución de Jenkins.
Selecciona Explore the route. La ruta tiene tres paradas numeradas: Garden gate, Willow bridge y Orchard yard. Selecciona Download all route stops y abre el CSV guardado con tu visor habitual de texto u hojas de cálculo. CSV es un formato de texto cuyos campos están separados por comas; su primera fila contiene los nombres de las columnas. El principio es:
order,stop_id,name,map_x,map_y,visitor_note
1,gate,Garden gate,150,340,Meet beside the blue gate.
Selecciona Read the visitor notes y lee el archivo de texto descargado. La hora de encuentro confirmada es 10:00. Estos archivos, las páginas funcionales y la imagen de la ruta forman un conjunto. Descargar un archivo no cambia la página. Usa la acción Back del navegador dos veces para volver desde la página de la ruta al resumen del paquete y, después, al escritorio.
Cambia a la pestaña Jenkins. Abre create-riverwalk-pack y selecciona Build with Parameters. Espera a que termine de cargarse el formulario de parámetros. Deja EDITION en river-v2 y selecciona Build. Este parámetro selecciona la edición preparada para visitantes; el programa proporcionado crea su ZIP real.
Espera a que termine la ejecución numerada. Abre esa ejecución en Builds y selecciona Console Output. Busca estas líneas:
Prepared visitor edition: Riverwalk Saturday / RW-02
Complete event-pack.zip created.
...
Finished: SUCCESS
El programa sí creó el paquete. Sigue leyendo el registro del Pipeline, en las acciones finales posteriores a las etapas, hasta encontrar [Pipeline] deleteDir. La limpieza proporcionada elimina los archivos del espacio de trabajo de esta ejecución después de que terminen sus etapas.
Un espacio de trabajo es el directorio de trabajo que Jenkins asigna a la ejecución de un trabajo. Una ejecución puede crear archivos allí y eliminarlos después. SUCCESS describe el resultado de la ejecución; no significa que Jenkins haya conservado automáticamente todos los archivos generados.
Vuelve a la página de estado de esta ejecución numerada mediante su enlace en la ruta de navegación. No hay ninguna descarga del artefacto event-pack.zip para esta ejecución original. El trabajo generó los archivos y después los eliminó sin conservar antes un archivo comprimido. Mantén esta ejecución en el historial para poder compararla con la siguiente.
Conserva el archivo antes de la limpieza
En este paso conservarás el ZIP completo para visitantes, mantendrás la limpieza del espacio de trabajo y utilizarás los archivos descargados. Empieza en la página del trabajo create-riverwalk-pack en Jenkins.
Selecciona Configure y luego la sección Pipeline. Su editor Script contiene las etapas de generación proporcionadas y un bloque post. La sección always de ese bloque se ejecuta después de las etapas, incluso cuando una ejecución falla. Su operación deleteDir() vacía el espacio de trabajo asignado; conserva esta limpieza.
archiveArtifacts copia los archivos seleccionados del espacio de trabajo en los artefactos conservados de la ejecución antes de la limpieza. Su ajuste artifacts es un nombre de archivo o un patrón relativo a ese espacio de trabajo. Las comillas simples que rodean 'event-pack.zip' lo convierten en una cadena de texto. fingerprint: true también registra el identificador de uso del archivo de Jenkins, que ayudará a rastrear este ZIP entre trabajos en el siguiente laboratorio guiado. Una huella digital registra la identidad y el uso de un archivo; no es una firma de quien lo publica.
Los dos puntos separan cada ajuste de su valor, y la coma separa los ajustes. Añade una etapa Archive pack después de Build pack, dentro de stages. Conserva el parámetro, el comando de generación y la limpieza. Para disponer de una versión completa que puedas copiar, haz clic dentro de Script, selecciona todo su contenido con Ctrl+A en Windows/Linux o Command+A en macOS y sustitúyelo por:
pipeline {
agent any
parameters {
choice(name: 'EDITION', choices: ['river-v2'], description: 'Visitor edition to prepare')
}
stages {
stage('Prepare workspace') {
steps { deleteDir() }
}
stage('Build pack') {
steps { sh 'sh /var/jenkins_home/walk-pack-fixtures/build-pack.sh' }
}
stage('Archive pack') {
steps {
archiveArtifacts artifacts: 'event-pack.zip', fingerprint: true
}
}
}
post {
always { deleteDir() }
}
}
Selecciona Save. Vuelve a ejecutar Build with Parameters. Espera a que termine de cargarse el formulario de parámetros, deja EDITION en river-v2 y selecciona Build. Espera a que esta nueva ejecución numerada termine correctamente. Su consola debe mostrar Archiving artifacts, Recording fingerprints y la limpieza final.
Abre la página de estado de la nueva ejecución y busca Build Artifacts. Descarga event-pack.zip. Jenkins conservó este ZIP como parte de esa ejecución aunque se vaciara el espacio de trabajo.
Extrae el ZIP completo en una carpeta nueva con la herramienta de archivos comprimidos de tu ordenador. Abre index.html desde esa carpeta extraída en un navegador. Mantén los ocho archivos juntos:
index.html
route.html
styles.css
route-map.png
stops.csv
visitor-notes.txt
event.json
build.json
Confirma Riverwalk Saturday, la edición RW-02 y la hora de encuentro 10:00. Sigue Explore the route, inspecciona las tres paradas, descarga el CSV de la ruta y selecciona Read the visitor notes para leer el archivo de texto local. Según el navegador, este archivo de texto puede abrirse directamente en una página en lugar de iniciar otra descarga; ya está incluido en la carpeta extraída. La imagen y los enlaces utilizan archivos locales, por lo que este paquete para visitantes puede usarse independientemente de la máquina virtual de prácticas.

Si a la página extraída le faltan los estilos o una imagen, comprueba que hayas extraído todo el ZIP y abierto index.html junto a styles.css y route-map.png. Abrir solo un archivo HTML desde un visor de ZIP puede separarlo de sus recursos. Extrae la descarga original en una carpeta nueva en lugar de reconstruir los archivos.
Si Jenkins informa de un error de sintaxis de Groovy, vuelve a Configure, restaura el script completo anterior, selecciona Save y ejecuta river-v2 de nuevo. Conserva las llaves y las comillas simples. Si editaste antes de realizar la primera ejecución original, elimina temporalmente solo Archive pack, guarda y ejecuta una vez; después restaura el script completo y vuelve a ejecutarlo.
El resultado final debe proceder del Pipeline guardado actualmente. Después de cualquier otra edición, vuelve a ejecutarlo. Conserva las ejecuciones anteriores y los archivos del paquete proporcionados. Esta máquina virtual de prácticas es temporal; conserva tu copia descargada cuando termines el laboratorio.
Resumen
Has observado cómo un paquete real desaparecía de un espacio de trabajo temporal y después has conservado el ZIP completo mediante el archivado y el registro de huellas digitales de Jenkins. Has mantenido la limpieza, descargado el artefacto original de la ejecución y utilizado sus páginas, imagen, datos de ruta y notas para visitantes como un único paquete autónomo para visitantes.



