我已经启用了'Enable CLI over remoting'.
当执行plugin-install命令时,我收到:
执行时的插件安装: java -jar jenkins-.jar用户:通过-s http://localhost:8080安装-插件file:///folder/plugin.hpi
错误:执行install-plugin命令时出现意外异常。java.io.FileNotFoundException: /folder/plugin.hpi (没有这样的文件或对文件执行directory)
/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。
发布于 2018-10-23 03:45:05
您作为参数提供给install-plugin
的URL必须能够被Jenkins主进程访问。如果您收到错误消息
/folder/plugin.hpi (No such file or directory)
那么很可能是访问权限有问题,或者/folder
没有挂载在主服务器的主机上(或者在主服务器的容器中,如果使用docker的话)。
这就是HTTP URL正常工作的原因。
因此,对于CLI,您需要在file://
用户/机器和Jenkins主用户/机器之间对齐文件系统挂载和权限。
发布于 2018-10-23 15:19:13
这是@Alex解决方案的组合,我使用-auth myuser:mypass代替--用户名管理员--密码密码和切换--远程处理。
它看起来是这样的:
java -jar jenkins-cli.jar -s http://host-ip:8080/ -remoting install-plugin ./plugin.hpi --username my-user --password my-pass -restart
https://stackoverflow.com/questions/52930914
复制相似问题