Por lo general, definimos un trabajo de Jenkins en un Jenkinsfile, un archivo de texto que contiene las instrucciones sobre cómo se construye, prueba e implementa un proyecto. A Jenkinsfile tiene varios parámetros y pasos, incluida la invocación de los comandos de shell, el análisis del código fuente y más.
Jenkins admite dos métodos principales para declarar un Jenkinsfile: como un guión maravilloso o usar la sintaxis declarativa de Jenkinsfile. Una vez que definimos el trabajo, los pasos y las acciones requeridas, podemos decirle a Jenkins que ejecute el trabajo y ejecute las instrucciones que se proporcionan en el archivo.
Dichas tareas incluyen construir un proyecto de software, ejecutar las pruebas, implementar el software para la producción o automatizar la ejecución de otros trabajos.
Este tutorial te enseña cómo clonar un trabajo de Jenkins en simples pasos. La clonación de un trabajo se refiere a crear una copia de un trabajo existente con configuraciones similares como el trabajo de origen.
La clonación de trabajo puede ser útil si desea crear un trabajo de una configuración similar con modificaciones menores. En lugar de volver a definir el trabajo nuevamente, puede crear un clon, hacer los cambios deseados y volver a ejecutar el trabajo.
Configuración de Jenkins
Para escribir este tutorial, usamos un controlador de Jenkins versión 2.283 que se ejecuta en Debian 11. También tenemos un agente de Jenkins que se ejecuta en la versión 2 de Jenkins.375 LTS en Windows 11.
Siéntase libre de replicar un entorno similar o usar su configuración existente.
Configuración de un trabajo de muestra Jenkins
Comencemos creando una tubería simple de Hello World en Jenkins para demostrar cómo podemos clonar un trabajo.
Inicie sesión en su tablero de Jenkins y haga clic en "Nuevo elemento".
Dale un nombre al trabajo y llámalo "Hello_world". Seleccione el tipo de trabajo como tubería.
Omita la otra configuración y diríjase a la sección de tuberías. Aquí, proporcionaremos un simple script de Jenkinsfile como se muestra en el siguiente:
tubería
agente cualquiera
etapas
etapa ('hola')
pasos
echo 'hola mundo'
En este caso, la tubería envía un mensaje de "hola mundo" al finalizar. Haga clic en "Guardar" para terminar de editar su tubería.
Clonar un trabajo en Jenkins
Para clonar un trabajo en Jenkins, comience iniciando sesión en su interfaz web de Jenkins.
Una vez satisfecho, haga clic en "Aceptar" para iniciar un nuevo trabajo. Jenkins crea un nuevo trabajo con la misma configuración que el original. Luego puede realizar cualquier cambio necesario en la tubería del nuevo trabajo y hacer clic en "Guardar" para aplicar los cambios.
Nota: Clonificar el trabajo en Jenkins no copia el historial de compilación o los artefactos del trabajo original. El nuevo trabajo comienza con un historial de construcción limpia y no tiene artefactos de construcción asociados.
Clone el trabajo de Jenkins a través de CLI
También puedes clonar un trabajo usando el Jenkins CLI. La sintaxis del comando es la siguiente:
$ java -jar jenkins -cli.jar -s http: /// -WebSocket Copy -Job SRC DST
El SRC se refiere al nombre del trabajo existente y DST es el nombre del nuevo trabajo que se creará.
Ejemplo:
$ java -jar jenkins -cli.jar -s http: // localhost: 8080/-websocket copy -job hello_world hello_world_copy
Nota: El uso de la CLI no le permite cambiar la configuración del nuevo trabajo. Debe acceder al tablero de Jenkins para hacer cualquier modificación al trabajo recién creado.
Conclusión
Aprendió a usar la función Jenkins Clone para crear rápidamente un trabajo con una configuración similar con el trabajo ya existente. Como se mencionó, Cloning a Job no incluye la historia de construcción y los artefactos del trabajo original.