Jenkins用户手册(3)

Managing Plugins

插件是用于增强Jenkins功能以满足机构或者用户特定的需求。有多于一千种不同插件可以安装到Jenkins上以集成不同的构建工具、云服务提供、分析工具等等,Jenkins插件由Update Center提供。

此处将讲解使用Jenkins Web UI对插件的基本管理。

Installing a plugin

Jenkins提供了两种安装插件的方法:

  • 使用Web UI中的Plugin Manager。
  • 使用Jenkins CLI的install-plugin命令。

这两种方式都需要Jenkins能够从Update Center下载元数据,无论是Jenkins项目的Update Center还是一个订制的Update Center.

所有插件都是以.hpi结尾的文件自包含式打包,含有必要的代码、片和其他一些插件运行必须的资源。

From the web UI

最简单的插件安装方式即为通过Jenkins的Web UI的Manage Jenkins下的Manage Plugins视图,需要管理员权限。

Using the Jenkins CLI

管理员也可以使用Jenkins命令行工具安装插件。

java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin SOURCE ... [-deploy][-name VAL][-restart]

Installs a plugin either from a file , an URL , or from update center

安装插件,要么从文件,要么从URL,要么从Update Center

SOURCE      :如果指向本地文件,直接安装。如果指向一个URL,由Jenkins下载后安装。否则,Jenkins会认为是            已存于Update Center中的插件名字(短名字,如findbugs),从Update Center安装。

-deploy     :无延迟发布。

-name VAL   :如果指定,指定插件Update Center中的短名字。

-restart    :成功安装后重启Jenkins.

如果要安装老版本插件。需如下四步:

  • 进入ManageJenkins下Manage Plugins视图。
  • 点击Advanced选项卡。
  • 选择Upload Plugin区域下的.hpi文件。
  • Upload插件文件。

此操作需要管理员权限,且操作完成需手工重启以使操作生效。

如果已下载好了.hpi文件,且能够直接将其放入Jenkins相关目录,那么可直接将此文件放入JENKINS_HOME/plugins目录下,然后重启Jenkins即可。

Updating a plugin

更新插件位于Manage Plugins的Updates选项卡。

默认情况下,Jenkins主服务每24小时从Update Center检查一次更新。如果要手动触发检查更新操作,点击Updates选项卡中的Check now按钮。

Removing a plugin

当Jenkins环境中的一个插件不在使用时,需将其从Jenkins服务删除。这样做有大量好处,比如减少启动和运行时内存消耗、减少配置选项、减少同新插件冲突的概率。

Uninstalling a plugin

可以通过Manage Plugins的Installed选项卡中的Uninstall按钮卸载,也可以通过删除插件对应的.hpi文件,其位于Jenkins主服务的JENKINS_HOME/plugins目录下。重启后生效。

注:如果存在插件依赖被删除的.hpi文件对应的插件,Jenkins可能会启动失败。

卸载一个插件不会删除其可能已创建的配置。如果存在被已删除插件创建的jobs/nodes/views/builds/etc配置,在Jenkins启动期间,将会有有警告信息:不能完全加载和忽略不认识的数据。

Removing old data

Jenkins提供一个清除卸载插件后遗留的配置的功能。在Manage Jenkins的Manage Old Data处检索和删除老的数据。

Disabling a plugin

禁用一插件是退下一个插件的温柔方式。Jenkins依然认为此插件处于已安装状态的,但是不会启动这个插件,也不会有此插件的扩民可见。

禁用插件功能在Manage Plugins下的Intalled选项卡下。系统管理员也可以通过在Jenkins主服务上创建一个文件来禁用插件,如:JENKINS_HOME/plugins/PLUGIN_NAME.hpi.disabled.