无外网连接的Jenkins服务器如何离线批量安装插件及依赖
直接拷贝本地插件目录的可行性
这个方案完全可行,是操作成本最低的离线插件部署方式,操作时注意几个关键点就不会出问题:
- 提前对齐本地和离线服务器的Jenkins主版本:大版本必须完全一致(比如都是2.426.x LTS版本),否则会出现插件和Jenkins核心不兼容、无法加载的问题
- 本地装完所有需要的插件后,先彻底停掉本地的Jenkins进程,再去拷贝插件目录,避免复制到半写入的损坏文件
- Jenkins默认插件目录位置:
- Windows:
C:\Users\<你的系统用户名>\.jenkins\plugins - Linux/macOS:
~/.jenkins/plugins
- Windows:
- 操作离线服务器前先停掉服务器上的Jenkins服务,把本地plugins目录下的所有内容(包括每个插件对应的
.jpi/.hpi安装包、和安装包同名的解压后插件文件夹)完整复制到服务器的Jenkins插件目录下,不要遗漏文件,复制完成后重启Jenkins服务即可,所有插件及其依赖会被自动识别加载。
注意:不要只单独复制.hpi/.jpi文件,必须连同同名的解压文件夹一起复制,否则大概率出现插件加载失败、功能异常的问题。
其他可落地的同类离线部署方案
- 方案1:利用Jenkins自带的离线包导出功能
本地启动和服务器同版本的Jenkins,在插件管理页面装好所有需要的插件后,找到页面上的「准备离线更新」按钮,系统会自动把当前所有已装插件、依赖、适配当前版本的更新元数据打包成一个完整的离线安装包。把这个包传到离线服务器,在服务器的插件管理页直接上传这个离线包,等待系统自动部署完成后重启即可,不需要手动整理目录文件。 - 方案2:联网端批量预下载所有插件包
如果你不想在本地装完整的Jenkins,也可以在联网电脑上整理好你需要的目标插件列表,通过插件依赖递归规则,把所有需要的插件、对应适配你服务器Jenkins版本的依赖包全部批量下载到同一个文件夹,把整个文件夹传到离线服务器的plugins目录,重启Jenkins即可完成部署,不需要逐个手动点下载。 - 方案3:内网搭建临时插件镜像源
如果离线环境有多台Jenkins服务器需要维护,可以在和离线服务器内网连通的机器上搭建一个Jenkins插件源镜像,提前把需要的插件版本、所有依赖同步到这个镜像源,之后给离线Jenkins配置更新源地址为这个内网镜像地址,就可以像在线环境一样直接在插件管理页勾选安装插件,不需要反复手动传文件。
内容的提问来源于stack exchange,提问作者Patrik Falck
相关产品推荐
相关产品推荐

