繁体   English   中英

如何在 Jenkins 中手动安装插件

[英]How to install a plugin in Jenkins manually

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

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

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

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

<jenkinsHome>/plugins/

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

  1. 下载插件。
  2. 在 Jenkins 内部:管理 Jenkins管理插件→ 有一个名为Advanced的选项卡,在该页面上有一个上传插件的选项(文件的扩展名必须是 hpi)。

有时,当您下载插件时,您可能会得到 (.zip) 文件,然后只需将其重命名为 (.hpi) 并使用 UI 来安装插件。

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

插件.txt

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

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

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

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

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

有时,当您下载插件时,您可能会获得 (.zip) 文件,然后只需将其重命名为 (.hpi),然后解压缩所有插件并移至<jenkinsHome>/plugins/目录。

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

install-plugins.sh 替换了已弃用的 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' ' ')

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

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

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

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

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

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

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

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

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

重启詹金斯。

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

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

这里安装的插件是git Jenkins 忽略指定为@current的版本。 Jenkins 在localhost端口8080上运行,根据需要更改它。 据我所知,这是“手动”安装插件及其所有依赖项的最简单方法。 在 Jenkins v1.644上测试

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 中,如上所示。

使用此链接下载插件 hpi 的最新版本。 https://updates.jenkins-ci.org/download/plugins/

然后通过 Jenkins 中的“管理插件”上传插件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM