Bibliothèque partagée Jenkins : un examen plus approfondi [2022]
Publié: 2021-01-02Nous vivons à l'ère des microservices dans laquelle les applications contemporaines sont désassemblées en composants pouvant être déployés individuellement . On peut affirmer que Jenkins s'est fait une place parmi les principaux outils originaux de CI/CD pour le déploiement de microservices. Par rapport aux applications monolithiques, il existe de nombreux pipelines pour déployer des microservices individuels.
Vous pouvez utiliser le tuyau comme code pour encoder tout le processus de CI/CD. Traitez-le comme dans le développement d'applications. Vous pouvez publier votre code de pipeline et exécuter tous les niveaux de test avant de l'utiliser pour déployer votre application.
Table des matières
Qu'est-ce que la bibliothèque partagée Jenkins ?
Quand on dit CI/CD comme symbole, on a besoin de modularité et de réutilisation. Vous devez suivre le principe DRY. C'est là que la bibliothèque partagée de Jenkins ' s'avère utile.
La bibliothèque partagée Jenkins est l'idée d'inclure un code de canal standard pour les systèmes de contrôle de version et peut être utilisée sur n'importe quel nombre de canaux en s'y référant simplement. Plusieurs équipes peuvent utiliser le même répertoire pour leur pipeline.
Vous pouvez le comparer avec des répertoires de programmation populaires. La programmation crée un guide séparé que n'importe qui peut utiliser lors de l'importation de code.
Par exemple, si vous avez dix canaux pour les micro-services de Java, l'ancienne procédure de création est répétée pour les dix canaux. En outre, le code de conduite est copié et collé avec l'ajout de nouveaux services. Si vous souhaitez modifier certains paramètres dans une ancienne phase de construction, vous devez les ajuster manuellement dans toutes les canalisations.

Dans le même scénario, vous allez créer une bibliothèque partagée pour les bâtiments plus anciens. Pour tous les tuyaux, vous n'avez qu'à vous référer à l'ancienne bibliothèque des codes du bâtiment. S'il y a d'anciennes modifications à l'avenir, tout ce que vous devez mettre à jour est l'icône de la bibliothèque partagée.
Lire : Idées et sujets intéressants pour le projet Jenkins
Commencez à utiliser les bibliothèques partagées
Un répertoire partagé est une collection de fichiers sympas (DSL + Groovy). Tous les fichiers sympas doivent être dans le dépôt git. Cet exemple utilise Github comme référentiel git. https://github.com/devopscube/jenkins-shared-library. Vous pouvez dupliquer ce référentiel pour obtenir l'infrastructure de la bibliothèque partagée.
La base de données de la bibliothèque partagée contient les structures de volume suivantes :
La bibliothèque commune Jenkins
| ____ vars
| ____ source
| ____ Ressources
Vars
Il contient tout le code WCL que vous pouvez appeler depuis le pipeline. Il contient tous les fichiers de répertoire avec l'extension .groovy. Les fichiers .txt sont également pris en charge pour documenter le code de bibliothèque partagé. Par exemple, si vous avez un fichier avec le nom maven-build. Groovy, alors vous obtiendrez un fichier d'aide avec le nom maven-groovy.txt. Vous pouvez écrire une documentation d'aide pour marquer les propriétés d'un répertoire partagé dans ce fichier. Les fichiers d'aide peuvent être consultés à partir de la page <your-jenkins-url> / Pipeline Syntax / Global.
Src
Il s'agit d'un répertoire source Java standard. Une fois que tout le texte a été compilé, il sera ajouté au classpath. Ici, vous pouvez ajouter un code incroyablement cool pour étendre le code de la bibliothèque partagée. Vous pouvez également utiliser le manifeste d'importation pour importer des catégories et des extensions Jenkins existantes.
Il existe des scénarios où le matériel DSL cool n'est pas assez flexible pour exécuter certaines fonctions. Dans ce cas, vous pouvez écrire des fonctions groove personnalisées dans src et les lire dans le code de la bibliothèque partagée.
Ressources
Vous pouvez gérer tous les fichiers inutiles nécessaires au tuyau dans ce dossier. Par exemple, vous pouvez avoir besoin d'un modèle JSON général pour effectuer des appels d'API pendant la construction. Vous pouvez enregistrer ce modèle JSON dans un dossier de ressources et l'appeler dans une bibliothèque partagée via la fonction LibraryResource.

Doit lire: Salaire Jenkins en Inde
Bibliothèque globale partagée
Il existe plusieurs endroits où vous pouvez configurer un répertoire partagé, selon votre cas d'utilisation. Jenkins Management »Configuration du système» Bibliothèque globale de tuyaux. Vous pouvez configurer n'importe quel nombre de répertoires selon vos besoins.
Ces bibliothèques sont universellement disponibles afin que chaque pipeline de votre système puisse utiliser les fonctions implémentées dans ces bibliothèques.
Ces bibliothèques sont considérées comme « fiables ». Vous pouvez exécuter n'importe quelle méthode dans Java, Groovy, l'API interne de Jenkins, l'extension Jenkins ou un répertoire tiers. Il vous permet d'identifier avec précision les bibliothèques qui replient les API non sécurisées dans des enveloppes de haut niveau pouvant être utilisées en toute sécurité à partir de n'importe quel pipeline.
Veuillez noter que toute personne pouvant payer la commission à cette base de données SCM a un accès illimité à Jenkins. Vous avez besoin de l'autorisation Total / RunScripts pour créer ces répertoires (cette autorisation est généralement accordée aux administrateurs Jenkins).
Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Bibliothèque partagée au niveau du dossier
Tous les dossiers créés peuvent être liés à des répertoires partagés. Ce mécanisme vous permet de définir une plage de répertoires spécifique pour tous les canaux d'un volume ou d'un sous-dossier.
Les répertoires basés sur des dossiers ne sont pas considérés comme « fiables ». Il fonctionne dans le bac à sable groove, tout comme un tuyau ordinaire.
Bibliothèque partagée automatique
D'autres plugins peuvent ajouter un moyen d'identifier la bibliothèque lors de vos déplacements. Par exemple, "GitHub Organization Folder" est un plugin source fourni dans GitHub Branch Source. Il fournit un composant qui permet aux scripts d'utiliser des bibliothèques non approuvées telles que github.com/orgname/reponame moins toute configuration ajoutée. Dans ce cas, le référentiel GitHub spécifié sera chargé à partir de la branche principale en utilisant des paramètres anonymes.
Pour vérifier les modifications dans la bibliothèque
Si vous remarquez un bogue dans une version avec un répertoire non approuvé, cliquez sur le lien de relecture et modifiez un ou plusieurs fichiers source pour voir si la version résultante fonctionne comme prévu. Lorsque vous êtes satisfait des résultats, cliquez sur le lien diff sur la page État de la publication et appliquez la différence à votre bibliothèque et à votre pool de validation.

(Même si la version demandée de la bibliothèque est une branche et non une version statique comme le signet, la version réactivée utilisera la même version que la version d'origine. Vous ne pouvez pas retirer les ressources de la bibliothèque.)
Actuellement, il ne vous fournit pas les bibliothèques de confiance Replay. La modification des fichiers de ressources pendant la relecture n'est actuellement pas prise en charge.
Lisez aussi: Questions et réponses de l'entrevue de Jenkins
Conclusion
Voici quelques-unes des choses importantes à retenir :
- Vous devrez utiliser Groovy pour écrire des étapes ou des fonctions personnalisées.
- Il est nécessaire d'écrire des étapes de pipeline que vous pouvez appeler à partir de pipelines.
- Vous devez créer un fichier dans le répertoire vars du référentiel qui contiendra le nom de votre étape personnalisée.
- La méthode d'appel def doit être implémentée par les paramètres de votre étape.
- S'il est nécessaire d'écrire du code Groovy commun, vous pouvez l'ajouter dans src.
- Vous pouvez également intégrer une bibliothèque partagée dans Jenkins grâce à l'utilisation d'un écran système de configuration.
Si vous souhaitez en savoir plus sur le développement de la pile complète, consultez le programme exécutif PG de upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels en activité et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations. , statut d'anciens élèves de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.
