手工安装 Jenkins 插件的方法

通常,我们有两种方法安装 Jenkins 插件。第一种方法是到 Jenkins 插件管理页面搜索插件,然后安装。第二种方法是上传 Jenkins 插件的 hpi 文件安装。这两种方法能满足大多数人的需求。

第一种方法,如下图所示: 

第二种方法,如下图所示: 

但是对于需要保证 Jenkins 稳定或在 Jenkins 上进行二次开发的同学来说,以上方法是无法满足需求的。

第一种方法是无法指定插件的版本。第二种方式必须自己找到该插件的依赖树,然后根据依赖关系一个个地安装。是的,手工上传插件的这种方法,Jenkins 是不会自动下载依赖的。

还有,就是这两种方式都无法实现批量安装。

自动安装插件的方法

那么,有什么方法能指定插件的版本,又能自动下载它的依赖,还能批量下载呢?

幸运的是,Jenkins 的 Docker 镜像的代码仓库里的 install-plugins.sh 脚本已经实现。只不过需要我们拿过来小小修改才能使用。笔者修改后创建了相应的代码仓库:jenkins-install-plugins-shell 。链接在文章末尾。

以下是 jenkins-install-plugins-shell 的使用方法:

  1. 将代码 clone 到 JENKINS_HOME 目录中。

cd $JENKINS_HOMEgit clone https://github.com/zacker330/jenkins-install-plugins-shell.gitcd jenkins-install-plugins-shell
  1. 在 plugins.txt 中加入希望安装的插件 在 jenkins-install-plugins-shell 目录中,有一个 plugins.txt 文件,在文件中写入希望安装的插件及版本号。例如:

ansible:1.0powershell:1.3
  1. 执行安装

 # Jenkins War 的路径,用于分析export JENKINS_WAR_PATH=<Jenkins war文件的路径>chmod +x install-plugins.sh jenkins-support./install-plugins.sh < plugins.txt
  1. 重启 Jenkins install-plugins 本质上做的事情就只是将插件从云端下载到 JENKINS_HOME 下的 plugins 目录中。要使安装的插件生效,还需要重启 Jenkins。

关于 Jenkins 插件的名称

Jenkins 插件有两个名称。一个叫 display name,一个叫 short name。比如 Ansible 插件的 disply name 为 Ansible plugin,short name 为 ansible。

如何知道一个插件的 short name 呢?可以在 Jenkins 插件官网上找到,比如 Ansible 的:

在 plugins.txt 中使用的是 short name。

总结

笔者为什么一定要确定 Jenkins 插件的版本?是因为插件的版本会影响 Jenkins 流水线的可靠性。所以,笔者才会这么在意 Jenkins 插件的版本。

附录

  • Jenkins 官方 Docker 镜像中的自动化插件安装脚本:https://github.com/jenkinsci/docker/blob/master/install-plugins.sh

  • 笔者修改后的自动化插件安装脚本:

    https://github.com/zacker330/jenkins-install-plugins-shell


相关阅读(点击查看原文,与我们互动):

蓝绿部署和金丝雀部署

使用 Jenkins X 渐进式交付

什么是 CI/CD?

Jenkins 插件开发之旅~上

Jenkins 插件开发之旅~下

jenkins 安装插件失败_Jenkins 自动化安装插件相关推荐

  1. 安装JDK失败,再次安装时出现已经安装过了的,解决办法

    在电脑上安装JDK失败,再次安装时会提醒"已经在安装,请关闭原来的安装进程"这时的解决办法如下: 第一步: 1. 在电脑上,进入命令行,输入"regedit", ...

  2. wordpress安装jquery插件失败_wordpress怎么安装插件

    wordpress想要扩展功能,就可以去下载不能的插件,安装了这些插件以后,就可以做相关的操作了,插件有很多,并不是所有的插件都能用到 在后台,点击外观-插件-就可以看到很多插件,就可以看到很多插件 ...

  3. debian9宝塔面板安装php失败,宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法...

    这篇文章主要为大家详细介绍了宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借 ...

  4. cuda nvidia安装程序失败_Ubuntu16.04安装nvidia-docker

    最近部门打算买一波服务器,面临到需要配置环境的问题,单台服务器配置太麻烦,索性打算用docker来部署服务器环境. 本文只介绍如何在ubuntu16.04上正确安装nvidia-docker,对于概念 ...

  5. kali安装步骤失败 选择并安装软件_手机软件安装失败?吉米柚教你几招!

    不少使用安卓手机的朋友,经常遇到安装软件时出现安装失败的情况,尤其是手机用久后可能会出现这一问题,千万不要以为是手机坏掉了....吉米柚帮你整理了几种方法解决这个问题~ 随着手机系统的版本更新,软件商 ...

  6. linux上安装java失败,Linux下安装jdk失败怎么办

    有时出于需要(比如安装最新的eclipse),我们需要安装指定版本的JDK.然而,安装完成之后,再次键入命令查询JDK版本却发现版本号没有更新.那么,这应该如何解决呢?下面就让学习啦小编教大家Linu ...

  7. kali安装步骤失败 选择并安装软件_【完全手册】3dmax2020软件下载和安装步骤教程@模渲大师技术部...

    先介绍一下3dmax2020的8个新功能,大家先了解下,然后再开始聊聊如何下载安装和使用中文版3dmax2020和对应的VRay.CR下载. 1.3dmax2020可以跟Arnold.V-Ray和Ir ...

  8. kali安装步骤失败 选择并安装软件_ug安装教程详细步骤ug怎么免费安装教程ug软件怎样安装步骤...

    大家好,我是西瓜大大,今天给大家分享ug安装教程详细步骤,希望对大家有所帮助. ugnx 10.0安装详细步骤.下面我们进入ug正式安装环节! 1.下载ugnx10.0安装包后,点击setup.exe ...

  9. jenkins安装 插件插件失败 简单快捷安装办法

    清华大学镜像地址 在这个https://mirror.tuna.tsinghua.edu.cn/jenkins/redhat地址找到最新版本替换下面wetget地址 cd /usr/local/jen ...

最新文章

  1. 基于Spring读写分离
  2. Day 4:集合——迭代器与List接口
  3. 远程调用,限制请求超时时间处理
  4. .NET中多线程调试的一个办法
  5. 解决mac管理员变成普通成员
  6. 【leveldb】资料
  7. swift-自定义无限轮播图
  8. 10 分钟实现 Spring Boot 发送邮件功能
  9. 通用权限管理系统基类中数据库的连接
  10. Lingo 软件的使用 数学建模 司守奎
  11. zcu106 固化_xilinx zcu106 vcu demo
  12. 路由器450m和1200m有什么区别
  13. Markdown 符号表示
  14. 苹果AppStore审核,技术支持网址不通过被拒绝
  15. java方法集:大写金额转换数字
  16. 大端模式和小端模式之“终极记忆”
  17. 福师大 1309 计算机应用基础 在线作业答案二,福师大 1309 计算机应用基础 在线作业答案二...
  18. 实现 JSON.parse
  19. 王者荣耀背景html,王者荣耀镜背景故事是什么?王者荣耀镜背景故事分享
  20. Coursera蹭课指南(北?)

热门文章

  1. html5 canvas 图像预览,html5-canvas 加载并显示图像
  2. 桔子浏览器电脑版不显示图片怎么办 看不到图片怎么解决
  3. $.extend()和(function($){….})(jQuery)
  4. linux 命令 kps,Linux顶级命令.内存使用情况
  5. python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示
  6. c# python 相互调用_【GhPython】Python如何使用“委托”和lambda表达式
  7. 06 - java 方法
  8. pat乙级 1014 java_pat乙级1014 福尔摩斯的约会
  9. 计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处
  10. android 跳转动画黑屏,Android8.0 适配解决页面跳转过程出现短暂黑屏的问题