如何手动在Jenkins中安装插件

时间:2013-02-19 05:23:46

标签: jenkins jenkins-plugins

从更新中心安装插件会导致:

  

检查互联网连接无法连接   http://www.google.com/。也许您需要配置HTTP代理?部署插件失败 - 详细信息hudson.util.IOException2:无法下载   http://updates.jenkins-ci.org/download/plugins/deploy/1.9/deploy.hpi

是否可以下载插件并手动将其安装到Jenkins中?

13 个答案:

答案 0 :(得分:149)

是的,你可以。下载插件(* .hpi文件)并将其放在以下目录中:

<jenkinsHome>/plugins/

之后您将需要重新启动Jenkins。

答案 1 :(得分:124)

  1. 下载插件。
  2. Jenkins内部:管理Jenkins 管理插件→有一个名为 Advanced 的标签页,在该页面上有一个上传选项插件(文件的扩展名必须是hpi)。
  3. 有时,当您下载插件时,您可能会获得(.zip)文件,然后只需使用(.hpi)重命名并使用UI来安装插件。

答案 2 :(得分:20)

如果您使用Docker,则应阅读此文件:https://github.com/cloudbees/jenkins-ci.org-docker/blob/master/plugins.sh

父Dockerfile的示例:

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

plugins.txt

<name>:<version>
<name2>:<version2>

答案 3 :(得分:12)

我创建了一个执行以下操作的简单脚本:

  • 将一个或多个插件下载到插件目录
  • 扫描该目录中的所有插件以查找缺少的依赖项
  • 同样下载此依赖项
  • 循环直到没有打开依赖关系

该脚本不需要运行jenkins - 我用它来配置一个docker box。

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

答案 4 :(得分:10)

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

install-plugins.sh取代现在警告的已弃用的plugins.sh:

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

要根据plugins.sh使用plugins.txt,请参阅this issue并解决此问题:

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

答案 5 :(得分:9)

有时当您下载插件时,您可能会获得(.zip)文件,然后只需使用(.hpi)重命名,然后提取所有插件并移至<jenkinsHome>/plugins/目录。

答案 6 :(得分:4)

接受的答案是准确的,但请确保您也安装了所有必要的依赖项。使用CLI或Web进行安装似乎可以解决这个问题,但在我安装依赖项之前,我的插件没有显示在浏览器中或使用java -jar jenkins-cli.jar -s http://localhost:8080 list-plugins

答案 7 :(得分:3)

使用https://updates.jenkins-ci.org/download/plugins/。从Jenkins的这个中央更新存储库下载。

答案 8 :(得分:2)

给出的答案有效,附加了插件。

如果要替换/更新内置插件(如凭据插件,具有依赖项),则必须使用前端。为了自动化我使用:

 curl -i -F file=@pluginfilename.hpi http://jenkinshost/jenkins/pluginManager/uploadPlugin

答案 9 :(得分:1)

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

复制插件目录:

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

压缩插件:

tar cvfJ plugins.tar.xz plugins

将它们复制到另一个Jenkins框中:

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

重新启动Jenkins。

答案 10 :(得分:1)

在我的情况下,我需要为运行Windows Server的脱机构建服务器安装一个插件(版本在这里很重要)。我已经在我的笔记本电脑上安装了Jenkins以提前测试更改,并且它在localhost:8080上作为Windows服务运行。

因此,如果您愿意花时间在具有Internet连接的计算机上设置Jenkins并将这些更改带到离线服务器Jenkins(它确实有效,我确认了!),这些是您可以遵循的步骤:

  • Jenkins在我的笔记本电脑上:打开Jenkins,http://localhost:8080
  • Navigator:管理Jenkins |下载不带安装选项的插件
  • Windows资源管理器:复制下载的插件文件,该文件位于&#34; c:\ program files(x86)\ Jenkins \ plugins&#34;文件夹(即role-strategy.jpi)
  • 将其粘贴到离线服务器的共享文件夹中
  • 通过组件服务Jenkins服务
  • 停止Jenkins服务(脱机服务器Jenkins)
  • 将插件文件(即role-strategy.jpi)复制到&#34; c:\ program files(x86)\ Jenkins \ plugins&#34; (脱机Jenkins)服务器上的文件夹
  • 重启詹金斯,瞧!它应该安装。

答案 11 :(得分:0)

安装插件&#34; git&#34;及其所有依赖项:

curl -XPOST http://localhost:8080/pluginManager/installNecessaryPlugins -d '<install plugin="git@current" />'

此处,安装的插件为git; Jenkins忽略了指定为@current的版本。 Jenkins正在localhost端口8080上运行,根据需要进行更改。据我所知,这是安装插件及其所有依赖关系的最简单方法#39;手工制作。在Jenkins v1.644

上测试

答案 12 :(得分:0)

RUN /usr/local/bin/install-plugins.sh amazon-ecs:1.37 configuration-as-code:1.47 workflow-aggregator:2.6 \
cloudbees-folder:6.15 antisamy-markup-formatter:2.1 build-timeout:1.20 credentials-binding:1.24 

将 plugins.txt 取出并安装在 Dockerfile 中,如上。