Jenkins常见问题解决

360影视 国产动漫 2025-03-21 08:41 2

摘要:替换原因:进入 Manage Jenkins -》 Manage Plugin,发现Updates tab页没数据,报There were errors checking the update sites: SocketTimeoutException: co

替换原因:进入 Manage Jenkins -》 Manage Plugin,发现Updates tab页没数据,报There were errors checking the update sites: SocketTimeoutException: connect timed out错误(连接更新插件源超时)

问题分析:首先切换到Advanced tab页,Advanced tab页最下面有 Update Site 设置,看下当前Jenkins服务配置的更新插件源为:https://updates.jenkins.io/update-center.json,然后ssh到Jenkins服务所在服务器,验证此服务器是否能连通当前配置的更新插件源,经测试网络不通。

解决方案:将更新插件源替换为替换为服务器节点能够连通的国内插件源:

或者:

修改完后可以点击Submit按钮,然后点击Check now检查下,如果能重启Jenkins服务的话点击Submit按钮后可以直接重启下Jenkins服务。

+ mvn clean deployError: missing `server' JVM at `/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.i386/jre/lib/i386/server/libjvm.so'.Please install or use the JRE or JDK that contains these missing components.script returned exit code 4

据项目组开发人员反馈,上午流水线任务构建还正常,下午流水线构建就报上面错误了,期间并没有修改过流水线配置、源码里面并没调整过JDK版本相关内容。

解决思路:经排查Jenkins Pod运行正常,maven打包容器也能拉取源码,只不过执行mvn命令时报错,所以基本可以排除Jenkins组件问题,于是网上搜索类似问题,找到类似问题文章:

adcfgclone.pl Error: missing `server' JVM at libjvm.so。

于是ssh到流水线打包节点,经排查操作系统正好是centos7.x,docker数据盘目录挂载的数据盘文件系统格式正是XFS,切挂载点超过了1T。

解决方案:修改容器云打包节点到docker数据盘

3、解决Jenkins流水线任务拉取代码报git config File exists错误

错误信息:

returned status code 255:stdout:stderr: error: could not lock config file .git/config: File exists at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2450) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2380) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2376) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1923) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1935) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.setRemoteUrl(CliGitAPIImpl.java:1549) at hudson.plugins.git.GitAPI.setRemoteUrl(GitAPI.java:161) at jenkins.plugins.git.AbstractGitSCMSource.doRetrieve(AbstractGitSCMSource.java:357) at jenkins.plugins.git.AbstractGitSCMSource.doRetrieve(AbstractGitSCMSource.java:330) at jenkins.plugins.git.AbstractGitSCMSource.retrieve(AbstractGitSCMSource.java:396) at jenkins.scm.api.SCMSource.fetch(SCMSource.java:582) at org.jenkinsci.plugins.workflow.multibranch.SCMBinder.create(SCMBinder.java:100) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:310) at hudson.model.ResourceController.execute(ResourceController.java:99) at hudson.model.Executor.run(Executor.java:432)Finished: FAILURE

解决方案:

到Jenkins数据目录查找,可以发现在Jenkins安装目录下有个caches目录

/var/jenkins_home/caches/git-762b1469bb9de7658adbaec8d8b12877/.git/config....../var/jenkins_home/caches/git-6dff59f087b2f03588f3905a47012c3c/.git/config/var/jenkins_home/caches/git-259c3ec0c808380e583d66552ba73d06/.git/config/var/jenkins_home/caches/git-08f22672d5e50dba23f07dcd52f3100d/.git/config/var/jenkins_home/caches/git-ee60fb5e6f1859e7ee4717f127258a34/.git/config/var/jenkins_home/.config/jgit/config

在某个git-xxx目录里面有.git/config文件和.git/config.lock文件,删除config.lock文件即可

find / -name "config.lock" -type frm xxx.xxx/config.lock

错误信息:

解决方案:

1)先检查Jenkins打包节点文件句柄数配置

ulimit -n

如果值过小,通过以下命令进行配置

ci节点配置limit:echo "* soft nofile 65535" >>/etc/security/limits.confecho "* hard nofile 65535" >>/etc/security/limits.confulimit -n 65535

2)检查Jenkins打包节点docker服务句柄数配置

docker服务配置文件配置limit

/usr/lib/systemd/system/docker.service--default-ulimit nofile=65535:65535

来源:散文随风想

相关推荐