通过jenkins-cli安装本地插件

时间:2018-10-22 13:44:12

标签: jenkins jenkins-cli

  1. 我已启用“通过远程启用CLI”。
  2. 我已将JNLP的TCP端口设置为固定或随机。
  3. 我已经成功下载了jenkins-cli.jar。

我在执行插件安装命令时收到:

  • 执行时:java -jar jenkins-cli.jar -auth用户:pass -s http://localhost:8080安装插件文件:///folder/plugin.hpi

    错误:执行安装插件命令时发生意外的异常。 java.io.FileNotFoundException:/folder/plugin.hpi(无此类文件或目录)

  • 没有文件://

    /folder/plugin.hpi既不是有效的文件,URL,也不是更新中心中的插件工件名称

我尝试了所有可能的组合,该文件确实存在。

编辑:从例外情况开始,它一直认为它是url而不是文件:

at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at java.net.URL.openStream(URL.java:1045)
    at hudson.FilePath.copyFrom(FilePath.java:890)

编辑2:在给定HTTP URL的情况下它确实可以工作,但是需要我将其上载到我没有的服务器上。

编辑3:我尝试将文件移到Jenkins / var / lib / jenkins的同一文件夹中,并赋予其777权限。

2 个答案:

答案 0 :(得分:1)

Jenkins主进程必须可以访问您作为install-plugin的参数提供的URL。如果您收到错误消息

/folder/plugin.hpi (No such file or directory)

那么最有可能是访问权限出现问题,或者/folder没有安装在主机的主机上(或者如果使用docker,则没有安装在主机的容器中)。

这就是HTTP URL起作用的原因。

因此,对于file:// URL,您需要在CLI用户/计算机和Jenkins主用户/计算机之间对齐文件系统安装和权限。

答案 1 :(得分:1)

这是@Alex O解决方案的组合,我使用-auth myuser:mypass代替--username admin --password密码并切换了--remoting。

它看起来像这样:

java -jar jenkins-cli.jar -s http://host-ip:8080/ -remoting install-plugin ./plugin.hpi --username my-user --password my-pass -restart