jenkins插件的.hpi和.jpi有什么区别?

时间:2015-06-05 04:29:49

标签: jenkins jenkins-plugins

我以两种方式安装了插件,即手动将.hpi文件保存在Jenkins主目录中并从Jenkins前端安装(Manage Jenkins> Manage Plugins)。

我在这里注意到的是当我手动安装插件(下载为.hpi文件)时,它安装了扩展名.hpi,而在通过Jenkins前端安装插件时,我注意到插件再次安装为{{1 }}

但为什么呢?在后台发生了什么,我知道功能不会改变,但看起来很有趣。

请输入您的信息。

3 个答案:

答案 0 :(得分:37)

当你按照自己的说法手动安装时,两者都应该与Jenkins重命名hpijpi的延伸相同。

您在JENKINS_HOME中看到两者的原因是Jenkins启动时加载插件的顺序:plugin.jpi优先于plugin.hpi,以防两者都存在。这是上载安装确保上载的版本在重新启动后将覆盖现有版本的方式。

答案 1 :(得分:18)

嗯,我认为它是因为Jenkins forked from Hudson所以这就是hpi中的'H'。 J显然是对此的改变。

在技术方面,jpi插件是使用gradle plugin architecture生成的,而hpi插件是使用Maven architecture生成的

最终,你发现两者都生成Jenkins可以使用的插件。绝大多数是使用Maven构建的,但我是Gradle的粉丝,因为它与Groovy中的开发插件很好地连接。您还可以使用Maven构建Groovy

答案 2 :(得分:2)

$JENKINS_HOME/plugins/中存在的插件应始终使用.jpi后缀(基本名称为插件标识符)。通常,即使您使用uploading a plugin manually,无论您使用的上传文件名是什么,Jenkins都将强制执行此命名模式,因此,我不确定您是如何在这里拥有*.hpi文件的,除非直接将其复制到此文件系统位置。