插件是增强jenkins环境适合组织或用户需要的主要方式。有成千上万不同的插件,可以安装到jenkins属主上,继承有各种构建工具,云支持构建,分析工具等等。

插件可以按照依赖从更新中心自动下载,更新中心是供jenkins项目操作的服务,提供了一个开源插件的详细目录,这些插件是由很多jenkins社区成员开发和维护的。

这一章将会覆盖从jenkins web界面插件管理基础到改变属主文件系统的方方面面。

 

安装一个插件

 

Jenkins提供了两种不同在属主上安装插件的方法。

1.      使用web 界面的插件管理

2.      使用jekins CLI(客户端)  的 install-plugin命令

 

每种方法将会导致jenkins插件加载,但是使用过程中可能需要权衡不同访问级别。

两种方式都需要jenkins属主有权限从更新中心下载元数据,不管是jenkins项目操作的主(primary)更新中心还是一个从属(custom)更新中心.

 

从web ui界面

安装插件的最简单和最通用的方式是通过jenkins 管理(Manage Jenkins )à 插件管理(Manage Plugins)视图,这个视图是jenkins环境管理员可用的。

可用(Available)的卡片(tab)下,可以从配置的更新中心下载的可用插件将会被查询出来,考虑:

 jenkins用户手册-12-插件管理

 

大部分插件可以通过勾选插件毗邻的复选框来安装并立即使用,也可以点击安装(install)而无需重启。

 

注:如果可用插件列表是空的,可能是属主配置不正确,或者还没有从更新中心下载完元数据。点击现在验证(Check now)按钮,将会强制jenkins尝试连接它配置的更新中心。

 

 

使用jenkins CLI

管理员也可能使用jenkins CLI ,它提供了安装插件的命令。管理jenkins环境的脚本或者配置管理的代码,也可能需要安装插件,这不能通过直接使用与用户交互的web界面。Jenkins CLI允许命令行用户或者自动化工具通过依赖下载插件。

 

Java –jar Jenkins-cli.jar –s http://localhost:8080/install-plugin SOURCE ...[-deploy][-name VAL] [-restart]

安装插件,或者通过文件,或者通过url路径,或者通过更新中心。

 

SOURCE :如果这个指向一个本地文件,那么这个文件将会被安装。如果这是个url路径,jenkins将会下载url并将下载的文件作为插件进行安装。除此之外,名字假定为是插件在更新中心的简写(就像“findbugs”),插件将会从更新中心安装。(更新中心类似于maven中央仓库或者docker库的概念翻译者注)。

-deploy (部署):立即部署插件,而不推迟到重启。

-name VAL (名字值):如果指定,jenkins插件将会被以名字简写安装,(反之,通常名字是通过源中的名字自动推断出来的)

-restart (重启):一旦安装成功就重启。


高级安装

更新中心只是允许大部分最近发行版本的插件的安装。如果需要旧版本的插件,Jenkins管理员可以下载一个更老的版本.hpi存档并手动安装在Jenkinsmaster上。

通过web界面

如果已经下载了一个.hpi文件,已经logged-injenkins管理员可能通过web界面上传文件:

  1. 导航到 web界面的Jenkins管理(Manage Jenkins -> 插件管理(Manage Plugins 页面。

  2. 点击高级选项卡(Advanced tab

  3. 选择上传插件(Upload Plugin)选项下的.hpi文件。

  4. 上传插件文件。

jenkins用户手册-12-插件管理jenkins用户手册-12-插件管理



一旦插件文件上传完成,jenkins属主必须手动重启,以使改动生效。


在属主上


如果一个.hpi文件明确是有系统管理员下载的,系统管理员可以把.hpi文件手动防止再文件系统的特定位置。


复制下载的.hpi文件到jenkins属主的JENKINS_HOME/plugins 文件夹下(例如,Debia系统JENKINS_HOME  通常是/var/lib/jenkins


在插件加载之前,jenkins属主需要重启,这样才能使文件在jenkins环境中可用。


在更新网站的插件目录中的插件名字不是一直是插件展示出来的同一个名字。从plugins.jenkins.io搜索来获得想要的插件,将会获得plugins.jenkins.io提供的可用的.hpi文件的连接。


更新插件


插件管理中的更新选项卡(updates tab)(Updates)是一个列表,可以通过勾选想要更新的插件前面的复选框然后点击 Downloadnow and install after restart按钮来安装插件。





默认jenkins属主将会每二十四小时从更新中心检查更新。要想手动触发更新检查,只需要点击更新选项卡(updates tab)的现在检查(Check now)按钮。


移除插件


jenkins环境中的一个插件已经不再有意义,从jenkins属主中移除插件是明智的。这又一系列好处,例如减少引导和启动时的内存开销,减少web界面的配置选项,还有移除潜在的与新的更新插件的冲突的可能性。


卸载插件


卸载插件最简单的方式是导航到插件管理(Manage Plugins)页的安装(installed选项卡(tab)。从这里,jenkins将自动确定那些插件是可安全卸载的,这些插件是不再被其他插件依赖的了,瞄准一个按钮来这么做吧。




也可以通过删除jenkins属主中JENKINS_HOME/plugins文件夹对应的.hpi文件来卸载插件。属主重启之前,插件将会继续起作用。


注:如果插件的.hpi文件已经被删除,而这个插件还被其他插件引用,那么jenkins属主将会重启失败。


卸载插件可能不会移除插件创建的配置。如果jobs/nodes/views/builds/etc 配置中遗留插件创建的依赖数据,在jenkins启动时,jenkins将会警告配置没有被完全加载并忽略识别到的数据。


既然配置将会被保留,知道被覆盖,重新安装插件后配置值将会重新出现。


移除旧的数据


Jenkins提供了一个设备来清除卸载插件后遗留的配置。导航到jenkins管理(Manage Jenkins )并单击管理旧数据(Manage Old Data)来查看和清除旧的数据。


禁用(disabling)一个插件


禁用插件是收回插件的软的方式。Jenkins将会继续识别到已经安装的插件,但是不会启动插件,这个插件的扩展也将不可见。


Jenkins管理员可以通过插件管理(Manage Plugins)页面的已安装(installed)选项卡中勾选掉插件前的复选框来禁用插件。



系统管理员也可以通过在jenkins属主上创建一个文件来禁用插件,例如:


JENKINS_HOME/plugins/PLUGIN_NAME.hpi.disabled.


禁用插件动作的配置就好像是插件被卸载,它们再引导是导致警告,但其他情况会被忽略。


固定的(pinned)?插件


注:pinned插件特性已经从jenkins2.0中移除,jenkins2.0的后续版本不再绑定插件,替代提供一个压缩包来安装大部分有用的插件。


pinned plugins(固定的插件)的概念适用于jenkins1.x版本,例如Matrix Authorization plugin.


默认,当jenkins升级的时候,绑定的插件覆盖当前JENKINS_HOME 安装的插件的版本。


然而,当绑定的插件手动更新,jenkins将会标记插件为固定在特定的版本上。文件系统上,jenkins创建一个名为JENKINS_HOME/plugins/PLUGIN_NAME.hpi.pinned的文件来表示这个定位。


Jenkins重启时,固定插件永远不会被覆盖绑定的插件覆盖。如果一个固定的插件比当前绑定的插件版本旧,新版本的jenkins会警告。


从更新中心更新绑定的插件是安全的。经常收拾新的特性和更新时很有必要的。绑定的版本偶尔会更新,但并不一致。


插件管理允许插件显示地拔掉。JENKINS_HOME/plugins/PLUGIN_NAME.hpi.pinned文件也可以手动创建和删除,来控制插拔行为。如果pinned  文件存在,jenkins将会使用用户指定的插件版本。如果没有这个文件,jenkins将会从启动时的默认插件版本中进行加载。


1updates.jenkins.iohttps://updates.jenkins.io/






相关文章:

  • 2021-05-23
  • 2021-07-27
  • 2022-01-01
  • 2021-06-13
  • 2021-11-03
  • 2022-12-23
  • 2021-05-05
猜你喜欢
  • 2021-12-13
  • 2021-09-12
  • 2021-06-09
  • 2021-11-23
  • 2022-03-07
相关资源
相似解决方案