9 idées et sujets intéressants pour le projet Jenkins [Pour débutants et expérimentés]

Publié: 2020-09-10

Jenkins est un outil open source populaire parmi les professionnels DevOps. Il facilite l'intégration continue et est construit en Java. Si vous vous renseignez sur DevOps et l'automatisation, vous devriez connaître Jenkins car il fait partie des outils les plus connus des équipes DevOps. Les équipes DevOps utilisent cet outil tout au long du cycle de développement d'un produit logiciel.

La meilleure façon d'en savoir plus sur un outil comme Jenkins est de travailler sur ses projets. C'est pourquoi nous discuterons de nos meilleures idées de projets Jenkins dans cet article. Nos projets sont pour différents niveaux de compétence afin que vous puissiez choisir en fonction de vos intérêts et de votre expérience. Commençons:

Table des matières

Nos meilleures idées de projets Jenkins

Conditions préalables

Notez qu'avant de commencer à travailler sur l'un des projets Jenkins suivants, vous devez avoir une connaissance suffisante de Java. Jenkins est basé sur Java, et par conséquent, vous devez être familiarisé avec sa syntaxe et ses implémentations. Sinon, vous auriez du mal à terminer certains des projets dont nous avons discuté ci-dessous. Certains projets nécessitent des compétences supplémentaires.

1. Océan bleu

C'est un projet que vous devriez découvrir en travaillant avec Jenkins. Blue Ocean permet aux utilisateurs de créer, de diagnostiquer et de visualiser des pipelines de CD (livraison continue) à l'aide de graphiques. Il simplifie l'utilisation de Jenkins en offrant une interface graphique unique et facile à utiliser. Que vous soyez nouveau dans les pipelines de livraison continue ou que vous ayez une certaine expérience, vous le trouverez relativement facile à apprendre.

Blue Ocean est devenu une partie intégrante de Jenkins depuis son arrivée, et c'est pourquoi vous devez vous renseigner sur son fonctionnement. En savoir plus sur Blue Ocean vous permettra de savoir comment fonctionne Jenkins et comment vous pouvez l'utiliser pour la livraison continue. Ses fonctionnalités de visualisation vous permettent de représenter les pipelines de manière à pouvoir également les montrer aux utilisateurs non techniques. La représentation simple facilite également le diagnostic des problèmes. Vous pouvez facilement trouver des erreurs en utilisant la visualisation et les corriger rapidement.

Dans l'ensemble, en savoir plus sur Blue Ocean vous serait très utile pour vous familiariser avec Jenkins.

2. Infrastructure Jenkins

Jenkins est une technologie open source. Cela signifie que son code est accessible à tous ouvertement. Si vous êtes un programmeur chevronné et que vous souhaitez mettre en valeur votre expertise, vous pouvez contribuer à son infrastructure. Cela aurait fière allure sur votre CV et vous aiderait à en apprendre beaucoup sur les tâches collaboratives. Vous découvrirez également comment les technologies open source s'améliorent tout en aidant Jenkins à s'améliorer.

Il existe différentes manières de contribuer à Jenkins Infrastructure. Vous pouvez contribuer à leur site Web ou à l'infrastructure principale de la technologie. Pour contribuer au site, vous devrez utiliser HTML, tandis que vous devrez implémenter Ruby pour la contribution à l'infrastructure. Il a une communauté florissante de développeurs et de contributeurs, qui se feront un plaisir de vous aider en cas de problème. Vous pouvez aller ici pour en savoir plus sur Jenkins Infrastructure .

3. Projet de communication à distance Jenkins

C'est une excellente idée de projet pour les étudiants et les passionnés de réseautage. Cela vous permettrait d'apprendre les applications réseau de Jenkins et de voir comment vous pouvez améliorer sa mise en œuvre. Jenkins Remoting est une archive et une bibliothèque pour implémenter une couche de communication. Il a des protocoles TCP, des flux de données, des appels de procédure, etc. Parce qu'il est basé sur des protocoles TCP, l'échec de ceux-ci entraîne également l'échec de la connexion de l'agent. Les protocoles causent des obstacles lorsque plusieurs agents communiquent également par son intermédiaire. Ces inconvénients affectent l'échelle et la stabilité de Jenkins.

Ainsi, dans ce projet, vous pouvez améliorer Jenkins Remoting. Vous pouvez le faire en le rendant compatible avec une technologie de bus/file d'attente de messages (ActiveMQ ou RabbitMQ). Il pourrait agir comme couche tolérante aux pannes pour Jenkins. Pour mener à bien ce projet, vous devez être familiarisé avec les bases de la mise en réseau, des files d'attente de messages et de Java.

4. Améliorer Jenkins ATH

Jenkins ATH (Acceptance Test Harness) est un outil permettant de tester les bibliothèques DSL et les fichiers Jenkins avant de les déployer. Cependant, l'ancienne version de cet outil présente plusieurs inconvénients :

  • Il doit amorcer une instance complète pour chaque méthode de test, il est donc relativement lent en termes de performances
  • Les environnements réels nécessitent généralement un ensemble exact de plugins et leurs versions

Vous pouvez améliorer Jenkins ATH en corrigeant ces deux problèmes. Si vous n'avez jamais travaillé sur des projets Jenkins auparavant, vous pouvez commencer par résoudre l'un de ces problèmes, puis passer à la résolution du suivant. Pour mener à bien ce projet, vous devez être familiarisé avec Docker et Selenium, ainsi qu'avec Java.

5. Plugin pour l'étape Discard Builds

Dans ce projet, vous devez créer un plugin qui donne aux utilisateurs la possibilité de gérer leur politique de conservation des données de manière plus appropriée. Le plug-in doit permettre aux utilisateurs de mettre en œuvre la politique pour créer des artefacts, des historiques et des espaces de travail. Habituellement, les administrateurs d'une tâche doivent gérer ce problème, mais donner aux contributeurs du projet la possibilité de mettre en œuvre leur politique de conservation des données serait plus adapté. Votre plug-in doit permettre aux utilisateurs de créer et de définir leur politique de conservation des données à l'aide d'une étape de construction de pipeline.

Vous pouvez améliorer la fonction Discard Old Builds et la rendre plus adaptée au code. Vous pouvez vous concentrer sur l'offre de plus de fonctionnalités que les offres actuelles de la fonction Discard Old Builds. Le fonctionnement de votre plugin peut être en deux sections. Tout d'abord, il sélectionnerait les builds qu'il doit supprimer en fonction de l'historique d'un travail particulier. Ensuite, il devrait supprimer les builds qu'il a ajoutés à sa liste.

C'est l'un des projets Jenkins les plus intéressants, et vous apprendrez beaucoup en le complétant. Vous pouvez utiliser le plugin Run Selector comme base pour votre projet.

6. Couverture des codes

Vous pouvez créer un plugin qui effectue une couverture de code. Bien qu'il s'agisse de l'une des idées de projet Jenkins les plus courantes, vous pouvez aller plus loin en rendant votre outil de couverture de code unique et puissant. Par exemple, vous pouvez fusionner plusieurs outils de couverture de code en un seul et rendre votre plugin plus polyvalent et pratique. Si vous êtes débutant, vous ne pouvez créer qu'un simple plugin de couverture de code. D'autre part, si vous êtes un programmeur Jenkins chevronné, vous pouvez rendre le projet plus difficile en suivant l'idée que nous avons partagée ici, c'est-à-dire combiner différents plugins en un seul.

Outre Java, vous devrez également implémenter HTML et CSS dans ce projet. Ils vous aideront à rendre la structure et l'apparence de votre outil meilleures et plus attrayantes.

7. Outils EDA

Les outils d'automatisation de la conception électronique (EDA en abrégé) sont très populaires parmi les ingénieurs en raison de leurs divers avantages. Vous pouvez créer un plugin qui intègre un outil EDA avec Jenkins, améliorant ainsi les performances des deux à la fois. L'intégration de l'outil EDA à Jenkins permettra aux utilisateurs d'effectuer de nombreuses tâches qu'ils n'auraient pas pu réaliser auparavant. Par exemple, ils peuvent publier des rapports de synchronisation, utiliser d'autres plugins Jenkins en fonction de leurs besoins, lancer des tâches Pipeline avec des étapes, etc.

Il existe de nombreux outils EDA open source disponibles sur le marché. Vous pouvez choisir parmi l'un de ces outils open source (FuseSoC, icetools, Yosys, etc.) ou choisir un autre moyen de votre choix. Si vous êtes débutant, vous pouvez commencer avec un outil EDA et l'intégrer à Jenkins. D'autre part, vous pouvez rendre cette tâche plus difficile en intégrant différents outils EDA avec divers plugins Jenkins. C'est un excellent projet pour apprendre les applications de Jenkins dans le domaine de l'ingénierie.

8. Stockage externe pour les empreintes digitales Jenkins

Jenkins stocke les artefacts, les informations d'identification, leur historique d'utilisation et d'autres données pertinentes via son moteur d'empreintes digitales. Le moteur dispose d'une base de données XML avec diverses WebUI pour faciliter son fonctionnement. Vous pouvez créer un plugin Jenkins qui permet au moteur Jenkins Fingerprinting de stocker ses données de stockage externes.

De nombreuses organisations peuvent avoir à exporter leurs données vers un autre stockage pour diverses raisons (par exemple, faible stockage dans le moteur). Votre solution permettrait aux utilisateurs d'exporter leurs données depuis le moteur et de les utiliser à d'autres fins. Vous devez avoir une certaine expérience de travail sur des projets Jenkins avant de commencer à travailler sur celui-ci.

Vous devez utiliser JavaScript, l'API REST et Java pour effectuer cette tâche. Vous devez également être familiarisé avec les bases de données et leurs opérations car vous travaillerez avec elles dans ce projet.

9. Convertisseur de tâches pour Jenkins

Jenkins est un outil de livraison continue et se concentre donc sur les pipelines pour plus d'efficacité. Cependant, nous savons tous que de nombreux emplois sont de style libre et non basés sur Pipeline. Vous pouvez créer un outil pour Jenkins qui convertit les travaux de style libre en travaux de pipeline. L'appareil devrait migrer les données de la tâche libre vers sa base de données et les organiser dans une tâche Pipeline.

En tant que débutant, vous pouvez simplifier le projet en créant un simple outil de migration et de conversion. D'autre part, vous pouvez le rendre plus difficile en le rendant capable de migrer plusieurs tâches de style libre et de les convertir en une seule tâche Pipeline.

Votre outil aurait deux sections, une pour la migration des données et une autre pour la conversion. Vous devez être familiarisé avec Groovy (le langage responsable de Jenkins Pipeline), Python, Java, XML et Jenkins Pipelines pour travailler sur ce projet.

En savoir plus sur Jenkins et la livraison continue

Nous avons atteint la fin de notre liste. Nous espérons que vous avez trouvé nos idées de projets Jenkins utiles. Travailler sur ces projets vous aidera à devenir un meilleur utilisateur et développeur Jenkins. Cela vous donnerait également de l'expérience dans les implémentations de livraison continue. Si vous souhaitez en savoir plus sur Jenkins et la livraison continue, nous vous recommandons de vous rendre sur notre blog. Vous trouverez de nombreuses ressources précieuses et passionnantes (comme celle-ci) sur notre blog. En voici deux pour votre lecture complémentaire :

  • Salaire de Jenkins en Inde
  • Qu'est-ce que Jenkins ? Histoire, architecture et plus
  • Questions d'entretiens chez Jenkins

Si vous souhaitez en savoir plus sur le développement full-stack, consultez le diplôme PG upGrad & IIIT-B en développement logiciel full-stack, conçu pour les professionnels en activité et offrant 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.

Que pensez-vous de cet article ? Quelle idée de projet avez-vous le plus aimée ? Faites-nous savoir dans la section commentaire ci-dessous.

Cours de développement logiciel | Maîtrisez Java, C, Python et plus

APPRENTISSAGE DE CONFIANCE DE L'INDUSTRIE - COURS PRATIQUE - CERTIFICATION RECONNUE PAR L'INDUSTRIE.
Inscrivez-vous aujourd'hui