web-dev-qa-db-fra.com

Quelle est la différence entre .hpi et .jpi des plugins Jenkins?

J'ai installé les plugins Jenkins de deux manières, c'est-à-dire en conservant manuellement le .hpi fichier dans le répertoire de base de Jenkins, et installation à partir du frontal Jenkins (Gérer Jenkins> Gérer les plugins).

Ce que je remarque ici, c'est lorsque j'installe le plug-in manuellement (téléchargé en tant que .hpi fichier) qu'il a installé avec l'extension .hpi et lors de l'installation du plugin via le frontal Jenkins, je remarque que le plugin est à nouveau installé en tant que .jpi.

Mais pourquoi? Que se passe-t-il en arrière-plan? Je sais que la fonctionnalité ne changera pas, mais il semble intéressant de le savoir.

34
Venkat

Les deux sont censés être identiques à l'extension que Jenkins renomme hpi en jpi lorsque vous l'installez manuellement comme vous l'avez dit.

La raison pour laquelle vous voyez les deux dans votre JENKINS_HOME est l'ordre dans lequel les plugins sont chargés au démarrage de Jenkins: plugin.jpi a priorité sur plugin.hpi au cas où les deux sont présents. C'est ainsi que l'installation de téléchargement s'assure que la version téléchargée remplacera celle existante après le redémarrage.

40
Oliver Gondža

Eh bien, je pense que c'est parce que Jenkins bifurqué de Hudson donc c'est le 'H' en hpi. Le J est évidemment un changement à cela.

En termes de technologie, les plugins jpi sont générés en utilisant architecture de plugin gradle et les plugins hpi sont générés avec architecture Maven

En fin de compte, comme vous l'avez trouvé, les deux produisent des plugins que Jenkins peut utiliser. La grande majorité sont construits en utilisant Maven mais je suis un fan de Gradle car il se connecte bien avec le développement de plugins dans Groovy. Vous pouvez également construire dans Groovy en utilisant Maven

17

Plugins présents dans $JENKINS_HOME/plugins/ devrait toujours utiliser le .jpi suffixe (le nom de base étant l'identifiant du plugin). Normalement, Jenkins appliquera ce modèle de dénomination même lorsque téléchargement d'un plugin manuellement , quel que soit le nom de fichier que vous avez utilisé pour le téléchargement, donc je ne sais pas comment vous en êtes arrivé à avoir un *.hpi fichier ici, sauf si vous l'avez copié directement dans cet emplacement de système de fichiers.

2
Jesse Glick