Nous définissons généralement un travail Jenkins dans un JenkinsFile, un fichier texte qui contient les instructions sur la façon dont un projet est construit, testé et déployé. Un JenkinsFile a divers paramètres et étapes, notamment en invoquant les commandes de Shell, en analysant le code source, et plus.
Jenkins prend en charge deux méthodes principales pour déclarer un Jenkinsfile: comme script groovy ou en utilisant la syntaxe déclarative JenkinsFile. Une fois que nous avons défini le travail, les étapes et les actions requises, nous pouvons dire à Jenkins d'exécuter le travail et d'exécuter les instructions fournies dans le fichier.
Ces tâches comprennent la création d'un projet logiciel, l'exécution des tests, le déploiement du logiciel à la production ou l'automatisation de l'exécution d'autres travaux.
Ce tutoriel vous apprend à cloner un travail de Jenkins en étapes simples. Le clonage d'un travail fait référence à la création d'une copie d'un travail existant avec des configurations similaires à celle du travail source.
Le clonage du travail peut être utile si vous souhaitez créer un travail d'une configuration similaire avec des modifications mineures. Au lieu de redéfinir à nouveau le travail, vous pouvez créer un clone, effectuer les modifications souhaitées et réécrire le travail.
Configuration de Jenkins
Pour écrire ce tutoriel, nous utilisons une version 2 du contrôleur Jenkins.283 qui fonctionne sur Debian 11. Nous avons également un agent Jenkins qui fonctionne sur la version 2 de Jenkins.375 LTS sur Windows 11.
N'hésitez pas à reproduire un environnement similaire ou à utiliser votre configuration existante.
Configuration d'un exemple de travail Jenkins
Commençons par créer un simple pipeline Hello World à Jenkins pour démontrer comment nous pouvons cloner un emploi.
Connectez-vous à votre tableau de bord Jenkins et cliquez sur «nouvel élément».
Donnez un nom à l'emploi et appelez-le "Hello_world". Sélectionnez le type de travail comme pipeline.
Ignorez l'autre configuration et dirigez-vous vers la section Pipeline. Ici, nous fournirons un simple script JenkinsFile comme indiqué dans les éléments suivants:
pipeline
agent
étapes
scène ('Hello')
pas
Echo 'Hello World'
Dans ce cas, le pipeline passe un message «Hello World» à la fin. Cliquez sur «Enregistrer» pour terminer la modification de votre pipeline.
Cloner un emploi à Jenkins
Pour cloner un emploi à Jenkins, commencez par vous connecter à votre interface Web Jenkins.
Une fois satisfait, cliquez sur «OK» pour lancer un nouvel emploi. Jenkins crée un nouveau travail avec la même configuration que l'original. Vous pouvez ensuite apporter les modifications nécessaires au pipeline du nouveau travail et cliquer sur «Enregistrer» pour appliquer les modifications.
Remarque: le clonage du travail dans Jenkins ne copie pas l'historique de construction ou les artefacts du travail original. Le nouveau travail commence par un historique de construction propre et n'a pas d'artefacts de construction associés.
Clone The Jenkins Job via CLI
Vous pouvez également cloner un emploi en utilisant la CLI Jenkins. La syntaxe de commande est la suivante:
$ Java -jar Jenkins-Cli.jar -s http: /// -websocket copy-job src dst
Le SRC fait référence au nom du travail existant et DST est le nom du nouvel emploi à créer.
Exemple:
$ Java -jar Jenkins-Cli.jar -s http: // localhost: 8080 / -websocket copy-job hello_world hello_world_copy
Remarque: l'utilisation de la CLI ne vous permet pas de modifier la configuration du nouveau travail. Vous devez accéder au tableau de bord Jenkins pour apporter des modifications au travail nouvellement créé.
Conclusion
Vous avez appris à utiliser la fonction Jenkins Clone pour créer rapidement un travail avec une configuration similaire avec le travail déjà existant. Comme mentionné, le clonage d'un emploi n'inclut pas l'histoire de la construction et les artefacts de l'emploi original.