Jenkins 2.164.3 安装插件(当前官网正式版本: 2.440.3 LTS)

发布于:2024-05-07 ⋅ 阅读:(45) ⋅ 点赞:(0)

这篇文章如果放在5、6年前写出来毫无意义,因为安装2.164.3之后,推荐的插件即可自动安装。但是在2024年,当前正式版本是2.440.3 LTS,您会发现如果安装2.164版本的jenkins无法更新插件,或者提示升级本地jenkins。但笔者的服务器只能安装java8,所以只能使用java8支持的最后版本2.164.3

笔者尝试过手动安装插件,但是因为各种依赖,各种插件版本不匹配,被折磨的死去活来,也尝试更新源,但是java -jar jenkins.war这种方式未起作用。最后笔者整理了一套插件安装方法,欢迎使用及指摘。

1. 安装jenkins

1.1 宿主机安装

这里系统不区分windows还是linux

前往https://get.jenkins.io/war-stable/2.164.3/进行下载war包

运行java -Dhudson.model.DownloadService.noSignatureCheck=true -jar jenkins.war --httpPort=8081
其中-Dhudson.model.DownloadService.noSignatureCheck=true是跳过网站认证,--httpPort=8081修改端口

1.2 docker安装(linux)

前往 https://hub.docker.com/r/jenkins/jenkins/tags 挑选版本,用docker pull jenkins/jenkins:2.164.3下载镜像

运行容器

docker run -itd -p 8080:8080 -p 50000:50000  jenkins/jenkins:2.164.3

2. 登录jenkins

不同的安装方式,根据不同的提示寻找密码

整活的地方来了,输入密码会提示安装插件,由于jenkins版本太旧,所以一个插件也安装不了,即使是推荐的

跳过插件安装,设置登录用户,这里笔者设置的是admin

登录完成,看起来很正常,但要创建任务会发现
在这里插入图片描述
是的,只能创建最基本的任务,而且进入之后很多功能都没有

3. 修改配置文件

由于笔者服务器环境安装的是java8,并且无法升级,所以笔者只能使用java8支持的最新版本jenkins2.163,所以常规操作需要更新Update SiteSubmit
在这里插入图片描述
这里整活的地方来了,像一些知名网站里面的2.164的插件更新文件对应的并不是正确的版本,并且错的内容也相同,也不知道谁snyc的谁
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
http://mirror.esuni.jp/jenkins/updates/

在这里插入图片描述
所以怎么办呢,碰碰运气,笔者又翻了几个文件,发现stable-2.107更新文件对应的是2.164.3版本,还好还好,如果找不到那真的会很糟糕
http://mirror.esuni.jp/jenkins/updates/stable-2.107/update-center.json

以为这就解决了?这里把这个文件配上,仍然无法安装插件

java.io.IOException: Downloaded file /root/.jenkins/plugins/powershell.jpi.tmp does not match expected SHA-256, expected 'Qvw4t26HeGBJjh+BdpoubJc1acASVQAkB9FQtA4kxdw=', actual 'FYwl/yh2jivRErMn+VPX5douxVJGy8Tn0K6LFw0eTLc='
	at hudson.model.UpdateCenter.throwVerificationFailure(UpdateCenter.java:2025)
	at hudson.model.UpdateCenter.verifyChecksums(UpdateCenter.java:2060)
	at hudson.model.UpdateCenter$InstallationJob.replace(UpdateCenter.java:2239)
	at hudson.model.UpdateCenter$UpdateCenterConfiguration.install(UpdateCenter.java:1343)
	at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:1872)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2153)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1843)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:118)
	at java.lang.Thread.run(Thread.java:748)

什么原因呢?
大概是官网插件的SHA-256码和清华源的不一致,至于为什么不一致,笔者也无从得知了

接下来,需要将环境中的default.json中的官网网址改为清华源的,笔者这里以docker为例

/var/jenkins_home/updates/default.json

修改updates文件夹中的 default.json文件
- 替换文件中所有http://updates.jenkins-ci.org/download https://mirrors.tuna.tsinghua.edu.cn/jenkins
- 替换http://www.google.com http://www.baidu.com

注意前面在Update Site中点了Submit后,会在updates目录中生成default.json,也可以把 jenkins 数据目录中的hudson.model.UpdateCenter.xml值为:http://mirror.esuni.jp/jenkins/updates/stable-2.107/update-center.json

到这里重启下jenkins或者http:localhost:8080/reload都可以了,再更新插件就可以了
在这里插入图片描述