Jenkins卡在”Please wait while Jenkins is getting ready to work”

84次阅读
没有评论

问题描述

在尝试启动一个简单的Jenkins主节点时,发现它一直卡在”Please wait while Jenkins is getting ready to work”页面。用户的设置并不复杂:Jenkins安装在由proxmox 6实例托管的LXC中。10GB的RAM,4个CPU,10GB的硬盘,Debian 9。用户已经尝试了很多不同的方法,例如:
1. 停止/启动Jenkins软件
2. 停止/启动容器
3. 使用Debian软件包进行安装
4. 使用war包进行安装(仅用于war包安装样式)
5. 在CentOS 7上安装
6. 在qemu上安装

用户提供了Jenkins的服务文件和日志,但日志中除了一个警告之外没有任何错误。用户怀疑可能是连接问题,因为他们看到Jenkins试图连接到一个EC2实例,但他们的公司有代理,他们没有找到在Java命令中正确设置代理的选项。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户提供的信息,问题可能是由于公司代理导致的。解决方法是在Jenkins启动命令中添加正确的代理选项。具体步骤如下:
1. 打开Jenkins的服务文件。
2. 在ExecStart行中添加以下代理选项:

-Dhttp.proxyHost=<your_proxy_ip_here> -Dhttp.proxyPort=<your_proxy_port_here> -Dhttps.proxyHost=<your_proxy_ip_here> -Dhttps.proxyPort=<your_proxy_port_here>

请将<your_proxy_ip_here><your_proxy_port_here>替换为您公司的代理IP和端口。
以下是一个完整的示例:

/usr/bin/java -Djava.net.preferIPv4Stack=true -Dhttp.proxyHost=10.21.92.40 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=10.21.92.40 -Dhttps.proxyPort=3128 -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

请注意,这只是一个示例,您需要根据您的实际情况进行相应的修改。

方案2

如果方案1无效,您还可以尝试使用其他方法来解决代理问题。以下是一些可能的解决方案:
1. 检查您的公司代理设置,并确保您正确设置了代理IP和端口。
2. 检查您的网络连接是否正常,尝试使用ping命令测试代理IP是否可达。
3. 如果您使用的是Docker容器,请确保您在Docker配置中正确设置了代理。
4. 如果您使用的是虚拟机,请确保您在虚拟机配置中正确设置了代理。

请根据您的实际情况选择适合您的解决方案。

方案3

如果以上解决方案都无效,您可以尝试使用tcpdump工具来分析网络流量,以确定是否存在网络连接问题。以下是使用tcpdump的示例命令:

sudo tcpdump -i eth0 port 8080

请将eth0替换为您的网络接口名称,8080替换为Jenkins使用的端口号。运行命令后,观察输出并检查是否有与Jenkins相关的网络流量。

希望以上解决方案能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。

正文完