如何手动在Jenkins中安装插件?

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

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

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

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

<jenkinsHome>/plugins/ 

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

  1. 下载插件
  2. 里面Jenkins:pipe理jenkins>pipe理插件>有一个名为“高级configuration”的选项卡,在该页面有一个选项来上传一个插件(文件的扩展名必须是hpi)

有时候,当你下载插件,你可能会得到(.zip)文件,然后用(.hpi)重命名,并使用用户界面来安装插件

如果你使用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> 

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

  • 下载一个或多个插件到插件目录
  • 扫描该目录中的所有插件以查找缺失的依赖关系
  • 也下载这个依赖关系
  • 直到没有打开的依赖关系

脚本不需要运行jenkins – 我用它来configurationdocker盒。

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

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

Docker更新:使用install-plugins.sh脚本。 它需要插件名称减去'-plugin'扩展名。 看到这里的描述。

install-plugins.shreplace了现在警告的弃用的plugins.sh:

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

要按照plugins.sh使用plugins.txt,请参阅此问题和此解决方法:

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

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

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

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

这是将插件从一个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。

安装插件“git”及其所​​有依赖项:

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

这里,安装的插件是git ; Jenkins忽略指定为@current的版本。 jenkins在localhost端口8080上运行,根据需要进行更改。 据我所知,这是最简单的方法来“手工”安装一个插件的所有依赖。 testingJenkins v1.644