关于我如何遇到这个问题的一些历史。我有一个CICD服务器在Ubuntu 18.04 VPS上运行Jenkins用于我的Symfony项目。我运行Composer v1.0,每次我运行命令升级到Composer v2.0时都会有几条消息。所以我运行了一个Composer自我更新
$ composer self-update 2.5.5
字符串
我在VPS上运行PHP 7.4.15版本,Composer v2.0需要PHP 8,所以我不得不从ondrej存储库更新PHP。此时我意识到Ubuntu 18.04 Bionic Beaver已于2023年5月结束生命,唯一的问题是升级我的发行版。我在升级Chrome时遇到了一些最初的打嗝,Docker和Jenkins。通过一些谷歌搜索,我设法升级了Chrome和Docker。对于Jenkins,我必须使用新的存储库签名密钥。
在我将发行版升级到Ubuntu 20.04后,我注意到Jenkins无法启动。
$sudo journalctl -u jenkins.service
型
日志记录了以下内容
Running with Java 8 from /usr/lib/jvm/java-8-openjdk-amd64/jre, which is older than minimum required version (Java 11)
Supported Java versions are : [11, 17,21]
型
所以我安装了一个新版本的Java
$sudo update-java-alternatives --set java-17-openjdk-amd64
型
我重新启动了Jenkins,这次我在日志中发现了以下条目
Dec 26 16:50:04 ub-s-2vcpu-4gb-blr1-01-02 jenkins[823753]: 2023-12-26 11:20:04.319+0000 [id=30] INFO hudson.PluginManager#loadDetachedPlugins: Upgrading Jenkins. The last running version was 2.235.
2. This Jenkins is version 2.426.2.
Dec 26 16:50:04 ub-s-2vcpu-4gb-blr1-01-02 jenkins[823753]: 2023-12-26 11:20:04.397+0000 [id=30] INFO hudson.PluginManager#loadDetachedPlugins: Upgraded Jenkins from version 2.235.2 to version 2.426
.2. Loaded detached plugins (and dependencies): []
Dec 26 16:50:04 ub-s-2vcpu-4gb-blr1-01-02 jenkins[823753]: 2023-12-26 11:20:04.634+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization
Dec 26 16:50:04 ub-s-2vcpu-4gb-blr1-01-02 jenkins[823753]: 2023-12-26 11:20:04.768+0000 [id=31] SEVERE hudson.PluginManager$1$3$2$1#reactOnCycle: found cycle in plugin dependencies: (root=Plugin:ss
hd, deactivating all involved) Plugin:sshd -> Plugin:mina-sshd-api-core -> Plugin:ssh-credentials -> Plugin:credentials -> Plugin:sshd
Dec 26 16:50:04 ub-s-2vcpu-4gb-blr1-01-02 jenkins[823753]: 2023-12-26 11:20:04.777+0000 [id=31] SEVERE hudson.PluginManager$1$3$2$1#reactOnCycle: found cycle in plugin dependencies: (root=Plugin:ss
hd, deactivating all involved) Plugin:sshd -> Plugin:mina-sshd-api-core -> Plugin:ssh-credentials -> Plugin:credentials -> Plugin:sshd
型
有一个依赖于apache mina ssd插件。通过一些谷歌搜索,我发现mina插件的当前版本存在问题,唯一的方法是按照以下帖子安装工作版本
- Jenkins reports a cycle dependcy error with plugins after restart and will not start now
- Mina ssh plugin 2.8.0-30.vf9df64641cb_d has a cyclic dependency, breaks Jenkins plugin loading的
我无法访问jenkins CLI来降级插件。所以我删除了当前版本的插件和位于/var/lib/jenkins/plugins/的目录,并下载了旧版本并将其复制到插件目录。我将.hpi文件重命名为.jpi并重新启动jenkins。这次我在日志中收到以下消息
Dec 26 17:20:14 ub-s-2vcpu-4gb-blr1-01-02 jenkins[826241]: 2023-12-26 11:50:14.271+0000 [id=30] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin SSH server v3.303.vefc7119b_ec
23 (sshd)
Dec 26 17:20:14 ub-s-2vcpu-4gb-blr1-01-02 jenkins[826241]: java.io.IOException: Failed to load: SSH server (sshd 3.303.vefc7119b_ec23)
Dec 26 17:20:14 ub-s-2vcpu-4gb-blr1-01-02 jenkins[826241]: - Update required: Mina SSHD API :: Common (mina-sshd-api-common 2.8.0-21.v493b_6b_db_22c6) to be updated to 2.10.0-69.v28e3e36d18eb_ or higher
Dec 26 17:20:14 ub-s-2vcpu-4gb-blr1-01-02 jenkins[826241]: - Update required: Mina SSHD API :: Core (mina-sshd-api-core 2.8.0-21.v493b_6b_db_22c6) to be updated to 2.10.0-69.v28e3e36d18eb_ or higher
型
如果我切换回mina-sshd-common和核心到2.10..我得到循环插件依赖错误,如果我降级到2.8它寻找2.10..看起来我已经到达了死胡同。有没有办法解决这个问题,让Jenkins启动和运行?
1条答案
按热度按时间t5fffqht1#
解决了这个问题,并得到了Jenkins启动.显然,我想通了,通过试验和错误,我们应该升级插件时,Jenkins升级到一个新的版本.我已经升级了我的版本到2.426.2,但没有做任何插件.他们都是从旧的安装.所以Jenkins甚至不允许访问插件-在管理器中。手动删除和安装每个插件是相当麻烦的。所以我下载了Jenkinsci Plugin Installation Manager Tool到我的主目录。
然后,通过在HOME目录下运行以下命令,列出了使用此工具的所有插件的当前版本:$ sudo java -jar jenkins-plugin-manager-2.12.14.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins/ --plugin-file/var/lib/jenkins/plugins. txt--list >> InstalledPlugins. txt
因此,InstalledPlugins.txt被写入HOME目录。我的InstalledPlugins.txt的内容如下。(根据您安装的插件,您的内容可能会有所不同)
字符串
复制此文件
型
编辑plugins.txt并将所有版本号替换为“latest”,如下所示
型
这意味着我们希望插件安装管理器工具为这些插件中的每一个安装最新版本。
型
现在使用插件安装管理器工具按照plugins.txt升级插件
型
这将安装最新版本的插件。在我的情况下,一些插件抛出404错误,因为它们是either贬值或不再维护。一旦升级完成启动Jenkins
型
访问URL,你会看到Jenkins的新版本。在我的例子中,这是显示的版本。x1c 0d1x