Jenkins - 插件管理
1 - Jenkins插件
Jenkins通过插件来增强功能,可以集成不同的构建工具、云平台、分析和发布工具等,从而满足不同组织或用户的需求。
Jenkins 提供了不同的的方法来安装插件(需要不同级别的权限)
- 在web UI使用 "插件管理器":Manage Jenkins --》 Manage Plugins (系统管理--》管理插件),选中相应插件,根据提示安装即可。
- 使用Jenkins CLI install-plugin 命令。
- 手工安装.hpi 文件(插件被打包成独立的 .hpi 文件, 包含有所有必需的代码, 图像和成功运行所需要的资源)
注意:前两种方法要求 Jenkins 主机能够从更新中心下载元数据,否则只能通过手工安装.hpi 文件来完成。
官方信息
- 文档:https://jenkins.io/zh/doc/book/managing/plugins/
- 插件管理中心:https://plugins.jenkins.io/
- hpi格式插件文件下载:http://mirrors.jenkins.io/plugins/
2 - 插件管理中心
插件管理中心(https://plugins.jenkins.io/)提供了一个由Jenkins社区的成员共同开发和维护的开源插件的清单。
在插件管理中心页面,可以通过关键字搜索所需插件,查看插件的概要介绍。
- 插件最新更新时间
- 插件的使用人数趋势图
- 插件的依赖关系
- 插件的更新日志
- 插件的使用手册
- 其他信息:GitHub地址、插件主页等
3 - 方式1:Manage Jenkins
在web UI使用 "插件管理器":Manage Jenkins --》 Manage Plugins (系统管理--》插件管理),选中相应插件,根据提示安装即可。
跳转到“更新中心”界面,建议勾选“安装完成后重启Jenkins(空闲时)”,这一种安全的重启方式
4 - 方式2:使用Jenkins CLI install-plugin 命令
- 使用Jenkins CLI:https://jenkins.io/zh/doc/book/managing/plugins/#install-with-cli
- Jenkins CLI使用方法:https://jenkins.io/zh/doc/book/managing/cli/
4.1 SSH认证
设置SSH公钥
[root@test102 .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rcCDUlXolsjUJ8e6SRdvnRmDJWxSO0CQ7eqLzhIq4jY root@test102
The key's randomart image is:
+---[RSA 2048]----+
| .oO+ooo. |
| ..= B.+oo |
| o.o B =o. = |
| .oo* o.o.+ |
| . .o+=S.. |
| .. +o . |
| . . . . |
|+E.. .. |
|=..o+ .. |
+----[SHA256]-----+
[root@test102 .ssh]#
[root@test102 .ssh]# ll
total 8
-rw------- 1 root root 1675 Dec 4 13:28 id_rsa
-rw-r--r-- 1 root root 394 Dec 4 13:28 id_rsa.pub
[root@test102 .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQnHJ3FE6V16VNL4QnnJHNRpfLbEIVlGhRA6vBHN+FY8c+oW/8oM8d9PkfQsb1nufRZeucr+5hjDmhMxU+ftYZu9b838ru5Jj5dmBMKXw2+jOEaHTqV9Qwvz6Mk8QRXzUXv0FMmXuEh/sqVSaWp6dne/guQDSQtA1+vqS5UUj1PF1IIA9Xa0dlrhz0K/Fj1BIqDRQyZHpFN7v+caAzOPt8qZaTKCQpKoUoQk/3K+kDLDEyjEJxm8t9cSn1dJF9bxVXBaj/e8nv4fSg4hsJvDBF5NuAXPl7pZNWUC0G5+3OJsUvmLf5By6z71l9ODPmfgDf17E7oBkjQFJx1D8W+4ar root@test102
[root@test102 .ssh]#
Jenkins--》用户---》设置---》SSH Public Keys---》应用保存
指定SSHD端口
系统管理--》全局安全配置--》SSH Server,指定端口--》应用 保存并重启Jenkins服务
特别说明:这里是使用了Jenkins blue-ocean镜像来启动Jenkins服务的,50000端口在执行docker run命令时已映射到本地主机
docker run \
--name myjenkins \
-u root \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /tmp/jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
通过list-plugins命令列出目前安装的所有插件
[root@test102 ~]# ssh -l Anliven -p 50000 192.168.16.102 list-plugins |grep local
localization-support Localization Support Plugin 1.1
localization-zh-cn Localization: Chinese (Simplified) 1.0.11
locale Locale plugin 1.4
[root@test102 ~]#
通过install-plugin命令安装插件,然后重启Jenkins服务
[root@test102 ~]# ssh -l Anliven -p 50000 192.168.16.102 help install-plugin
java -jar jenkins-cli.jar install-plugin SOURCE ... [-deploy] [-name VAL] [-restart]
Installs a plugin either from a file, an URL, or from update center.
SOURCE : If this is an URL, Jenkins downloads the URL and installs that as
a plugin. If it is the string ‘=’, the file will be read from
standard input of the command. Otherwise the name is assumed to be
the short name of the plugin in the existing update center (like
‘findbugs’), and the plugin will be installed from the update
center. If the short name includes a minimum version number (like
‘findbugs:1.4’), and there are multiple update centers publishing
different versions, the update centers will be searched in order
for the first one publishing a version that is at least the
specified version.
-deploy : Deploy plugins right away without postponing them until the
reboot. (default: false)
-name VAL : No longer used.
-restart : Restart Jenkins upon successful installation. (default: false)
[root@test102 ~]#
[root@test102 ~]# ssh -l Anliven -p 50000 192.168.16.102 list-plugins |grep -i log
[root@test102 ~]#
[root@test102 ~]# ssh -l Anliven -p 50000 192.168.16.102 install-plugin log-cli
Installing log-cli from update center
[root@test102 ~]#
[root@test102 ~]#
[root@test102 ~]# ssh -l Anliven -p 50000 192.168.16.102 safe-restart
等待Jenkins服务重启完成
[root@test102 ~]# ssh -l Anliven -p 50000 192.168.16.102 list-plugins |grep -i log
log-cli Log CLI Plugin 25.67b2695c027c
[root@test102 ~]#
4.2 HTTP认证
CLI 客户端可以直接通过Jenkins主机的URL地址下载。
注意:如果Jenkins更换版本后,jenkins-cli.jar也要使用对应的版本,否则会出现兼容性问题。
通过浏览器下载:http://192.168.16.102:8080/jnlpJars/jenkins-cli.jar
或者,使用wget命令下载
[root@test102 ~]# wget http://192.168.16.102:8080/jnlpJars/jenkins-cli.jar
--2019-12-04 13:08:49-- http://192.168.16.102:8080/jnlpJars/jenkins-cli.jar
Connecting to 192.168.16.102:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3620739 (3.5M) [application/java-archive]
Saving to: ‘jenkins-cli.jar’
100%[========================================================================>] 3,620,739 --.-K/s in 0.005s
2019-12-04 13:08:49 (648 MB/s) - ‘jenkins-cli.jar’ saved [3620739/3620739]
[root@test102 ~]# ll jenkins-cli.jar
-rw-r--r-- 1 root root 3620739 Dec 3 16:00 jenkins-cli.jar
[root@test102 ~]#
通过list-plugins命令列出已安装插件信息
[root@test102 ~]# java -jar jenkins-cli.jar -s http://192.168.16.102:8080/ -auth Anliven:123456 list-plugins |grep log
Dec 04, 2019 2:28:33 PM org.apache.sshd.common.util.security.AbstractSecurityProviderRegistrar getOrCreateProvider
INFO: getOrCreateProvider(EdDSA) created instance of net.i2p.crypto.eddsa.EdDSASecurityProvider
log-cli Log CLI Plugin 25.67b2695c027c
[root@test102 ~]#
4.3 一键更新所有Jenkins插件
编写shell脚本(SSH认证方式)
[root@test102 ~]# cat update-all-jenkins-plugins.sh
#!/bin/sh
UPDATE_LIST=$(ssh -l Anliven -p 50000 192.168.16.102 list-plugins |grep -e ')$' | awk '{print $1}');
if [ ! -z "${UPDATE_LIST}" ]; then
echo "Updating Jenkins Plugins: ${UPDATE_LIST}";
ssh -l Anliven -p 50000 192.168.16.102 install-plugin ${UPDATE_LIST};
ssh -l Anliven -p 50000 192.168.16.102 safe-restart;
fi
[root@test102 ~]#
[root@test102 ~]# sh update-all-jenkins-plugins.sh
5 - 方式3:手工安装.hpi 文件
Jenkins插件都采用独立的 .hpi 文件格式, 包含有所有必需的代码, 图像和成功运行所需要的资源。
hpi格式插件文件下载:http://mirrors.jenkins.io/plugins/
操作步骤:Manage Jenkins -- 》Manage Plugins--》Advanced 标签--》Upload Plugin*部分,选择对应的.hpi文件--》Upload
特别注意:
此种方式无法自动处理插件之间的依赖关系,因此不适合安装复杂依赖关系的插件。
Jenkins - 插件管理的更多相关文章
- jenkins插件管理提示“update information obtained:不可用ago”
jenkins插件管理遇到两个错误 (1)插件管理页面提示:There were errors checking the update sites:IOException:Unable to tunn ...
- Jenkins插件管理
1.配置jenkins需要的maven.jdk路径 [root@db01 secrets]# echo $JAVA_HOME /application/jdk [root@db01 secrets]# ...
- Jenkins 插件中心国内镜像源发布
以下文章来源于Jenkins,作者LinuxSuRen Jenkins 社区的网络基础设施都是架设在国外的服务器上,而且,并没有在国内有 CDN 或者负载均衡的配置.对所有的 Jenkins 用户而言 ...
- [CI]jenkins安装&插件管理&java-helloworld之旅
持续集成概述 没有持续集成时的情况 持续集成最佳实战 维护一个单一的代码库 使构建自动化 执行测试是构建的一部分 集成日志及历史记录 使用统一的依赖包管理库 每天至少集成一次 jenkins实现持续集 ...
- jenkins权限管理插件role-based(二)
一.安装role-based插件 jenkins默认自带“configure global security/全局安全配置”比较简陋,不建议使用 系统管理-->插件管理-->可选插件--& ...
- Jenkins 利用Dashboard View插件管理任务视图
利用Dashboard View插件管理任务视图 by:授客 QQ:1033553122 步骤 1. 安装Dashboard View插件 说明: 如果无法在线安装,可以选择本地上传方式安装 附 ...
- 微软开放技术发布开源 Jenkins 插件以将 Windows Azure Blob 服务用的开作存储库
发布于 2014-02-10 作者 陈 忠岳 持续集成 (CI) 的历史源远流长, 其宗旨在于软件团队在敏捷环境中不断将他们的工作整合为持续构建.管理 CI 进程的工具已存在一段时间.过去几年中 ...
- Jenkins用户组管理
Jenkins用户组管理 转载2015-06-10 21:44:24 标签:jenkinsrolestrategypluginusergroupcitools 一.安装插件 安装RoleStrateg ...
- jenkins插件之如何优雅的生成版本号
一.简介 在持续集成中,版本管理是非常重要的一部分,本章将介绍如何Version Number Plug插件生成优雅的版本号. 二.安装 系统管理-->插件管理 搜索 Version Numbe ...
随机推荐
- 1、Python简介与Python安装
一.Python简介: Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的创始人为吉多·范罗苏姆(Guido van Rossum)少数几个不秃头的语言创始 ...
- 1.zookeeper是干什么的?
Zookeeper是Hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多.今天我想谈谈zookeeper,本文不谈如何使用zo ...
- Dynamics 365 On-premises和Online 的不同
1.新建账号的不同:on-premises(下文简称op)是和ad绑定的,所以必须先在ad中新建账号后才能在CRM中新建.而online是和Office365(下文简称O365)绑定的,所以需在O36 ...
- 合并K个有序链表
方法一:采用归并的思想将链表两两合并,再将两两合并后的链表做同样的操作直到合并为只有一个新的链表为止. 归类的时间复杂度是O(logn),合并两个链表的时间复杂度是O(n),则总的时间复杂度大概是O( ...
- go 学习 (五):包管理
一.设置环境变量 二.启用 go modules 功能 并设置代理 https://goproxy.io/zh/ 补充: GO111MODULE 有三个值:on.off.auto GO111MODU ...
- PJ8搜索
1,P1036 2,枚举子集 3,P1378 我觉得先需要一个排列,而且是n中取n的那种. 然后按照每个顺序进行模拟扩展,得出最大面积(体积?) 最后就更新最大值没什么说的. 1,啥是搜索,主要是一个 ...
- Tensorflow细节-P212-循环神经网络
本节的循环神经网络一图足以说明 import numpy as np X = [1, 2] state = [0.0, 0.0] # 定义RNN的参数 # 以下两个本来是像这样分开的,但是在运算时合并 ...
- inflection point
http://blog.thefirehoseproject.com/posts/learn-to-code-and-be-self-reliant/ kill will develop 1.repe ...
- Prisma 2 is Coming Soon
转自:https://www.prisma.io/blog/prisma-2-is-coming-soon-mwwfhevie993 Prisma 2 will introduce many fund ...
- 洛谷 SP740 TRT - Treats for the Cows 题解
SP740 TRT - Treats for the Cows 题目描述 FJ has purchased N (1 <= N <= 2000) yummy treats for the ...