2013-02-19 56 views

回答

132

是的,你可以。下载插件(* .hpi文件),并把它放到以下目录:

<jenkinsHome>/plugins/ 

之后,您将需要重新启动詹金斯。

+4

该方法不会自动安装任何插件,这些插件是所安装的插件的依赖关系。因此,我不推荐它,因为这个原因我投下了票。请让我知道,如果我错了,我会撤销我的倒票。 – 2017-02-17 20:21:55

+2

如果您被迫手动安装插件(无论出于何种原因),我不知道任何其他方法也会自动安装依赖关系。 – 2017-02-19 13:06:36

+0

我怎样才能知道詹金斯的家在哪里?通过使用'whereis jenkins'? – Black 2017-03-27 06:57:22

8

有时当你下载插件时,你可能会得到(.zip)文件,然后用(.hpi)重新命名,然后提取所有插件并移动到<jenkinsHome>/plugins/目录。

97
  1. 下载插件
  2. 内詹金斯:管理詹金斯>管理插件>有一个名为“高级配置”选项卡,在该页面有上传插件(该文件的扩展名必须是一种选择HPI)

有时候,当你下载的插件,你可能会得到文件(.zip)文件,然后只需用重命名(.hpi),并使用UI安装插件

+3

这可能是“安全”比http://stackoverflow.com/ a/14953877/627806,因为它正在通过前端。 – 2015-05-14 03:21:09

+0

如果由于插件配置错误导致Jenkins无法启动,有时需要这样做。例如。由于此[问题],我必须进行手动安装(https://groups.google.com/forum/#!topic/jenkinsci-users/1_SbyrWCqqI)。 – dskrvk 2016-03-21 02:21:50

+1

我试着安装这个插件,将zip改为hpi,并尝试从管理插件的高级选项上传,但它给出了错误'处理请求时发生了一个问题。请检查我们的错误跟踪器,看看是否已经报告过类似的问题。如果已经报告,请投票并对其发表评论,以便让我们评估问题的影响。如果您认为这是一个新问题,请提交新问题。在提交问题时,请确保添加整个堆栈跟踪以及Jenkins版本和相关插件。“ – 2016-12-13 21:33:07

10

我创建了一个简单的脚本,它如下:

  • 下载一个或多个插件的插件目录
  • 扫描缺少的依赖在该目录中的所有插件
  • 下载此依赖关系以及
  • 循环,直到没有开放的依赖性左

脚本不需要运行詹金斯 - 我用它来配置泊坞箱。

https://gist.github.com/micw/e80d739c6099078ce0f3

+0

网址现在已损坏。你可以请转贴你的剧本吗? – 2017-04-04 13:11:09

19

如果您使用的码头工人,你应该阅读本文件:父Dockerfile的https://github.com/cloudbees/jenkins-ci.org-docker/blob/master/plugins.sh

例子:

FROM jenkins 
COPY plugins.txt /plugins.txt 
RUN /usr/local/bin/plugins.sh /plugins.txt 

plugins.txt

<name>:<version> 
<name2>:<version2> 
+0

我正试图解决这个问题,并且偶然发现了这个答案。很棒! – muglio 2016-10-08 21:40:51

+0

这取决于jenkins的安装方式。在我的安装(apt-get安装詹金斯)我找不到plugin.sh文件。但是,如果我们从FROM詹金斯开始,那么它就存在。 – hadaytullah 2016-11-09 08:48:02

+0

请注意,您必须将插件及其所有依赖包括在plugins.txt中,因为它不会解析传递依赖关系。例如,blueocean具有10个以上的依赖关系,您还必须手动包含这些依赖项。 – code4cause 2017-01-14 00:11:35

4

接受的答案是准确的,但要确保你也安装了al l必要的依赖关系。使用cli或web进行安装似乎会照顾到这一点,但我的插件没有显示在浏览器中,或者使用java -jar jenkins-cli.jar -s http://localhost:8080 list-plugins,直到我还安装了依赖关系。

+1

我已经创建了一个简单的要点来列出Web上插件依赖项的所有最新版本(扫描整个依赖关系树):https:// gist .github.com/Lucasus/1a6b8df71425c790361c – 2016-01-06 22:55:42

0

与它的所有依赖安装插件 “混帐”:

curl -XPOST http://localhost:8080/pluginManager/installNecessaryPlugins -d '<install plugin="[email protected]" />' 

这里,安装了插件git;詹金斯忽略指定为@current的版本。 Jenkins正在运行localhost端口8080,根据需要更改此项。据我所知,这是最简单的方式来“手动”安装插件的所有依赖项。在Jenkins上进行测试v1.644

+0

在断开的网络上完成这项工作吗? – 2017-09-05 14:51:39

2

给出的答案与插件一起工作。如果你想替换/更新一个内置的插件,比如凭证插件,它有依赖项,那么你必须使用前端。要自动化我使用:

curl -i -F [email protected] http://jenkinshost/jenkins/pluginManager/uploadPlugin 
1

这是一种将插件从一个jenkins框复制到另一个的方法。

拷贝过来的插件目录:

scp -r jenkins-box.url.com:/var/lib/jenkins/plugins .

压缩插件:

tar cvfJ plugins.tar.xz plugins 

在将其复制到其他詹金斯箱:

scp plugins.tar.xz different-jenkins-box.url.com 
ssh different-jenkins-box.url.com "tar xvfJ plugins.tar.xz -C /var/lib/jenkins" 

重启詹金斯。

6

Docker更新:使用install-plugins.sh脚本。它需要一个插件名称减去'-plugin'扩展名的列表。请参阅说明here

install-plugins.sh代替了已过时plugins.sh现在警告说:

WARN: plugins.sh is deprecated, please switch to install-plugins.sh

要使用plugins.txt按照plugins.sh看到this issue和此变通办法:

RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/plugins.txt | tr '\n' ' ')

0

就我而言,我需要安装一个插件到运行Windows Server的离线构建服务器(版本在这里不重要)。我已经在我的笔记本电脑上安装了Jenkins,以提前测试更改,并将它作为Windows服务在localhost:8080上运行。

所以,如果你愿意花时间去建立詹金斯的机器上的Internet连接,并进行这些改变到离线服务器詹金斯(!它的工作原理,由我证实),这些步骤,你可以遵循:

  • Jenkins在我的笔记本电脑上:打开Jenkins,http://localhost:8080
  • 导航:管理Jenkins |下载插件没有安装选项
  • Windows资源管理器:复制位于“c:\ program files(x86)\ Jenkins \ plugins”文件夹下的插件文件(即角色策略。JPI)
  • 将其粘贴到离线服务器
  • 停止詹金斯服务(离线服务器詹金斯)通过组件服务的共享文件夹,詹金斯服务
  • 复制插件文件(即角色strategy.jpi)进入“ (离线Jenkins)服务器上的“c:\ program files(x86)\ Jenkins \ plugins”文件夹
  • 重新启动Jenkins和瞧!它应该被安装。