Fix Jenkins Pipeline Errors: Plugin Updates, Maven Build Failures, Git Config
This guide walks through fixing four common Jenkins pipeline problems: replacing unreachable plugin update sites with domestic mirrors, resolving Maven build errors caused by missing server JVM libraries, clearing stale Git config lock files, and adjusting file descriptor limits on build nodes to prevent out‑of‑resource failures.
1. Replace plugin update site with domestic mirror
Reason: In Manage Jenkins → Manage Plugins, the Updates tab shows no data and reports a timeout error when checking update sites.
Analysis: The configured update site URL is https://updates.jenkins.io/update-center.json, which is unreachable from the server.
Solution: Change the update site to a reachable domestic mirror, e.g.
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.jsonor
http://mirror.xmission.com/jenkins/updates/update-center.jsonAfter submitting, click “Check now” and restart Jenkins if needed.
2. Maven pipeline build reports missing server JVM
Command executed: + mvn clean deploy Error output indicates a missing server JVM library (libjvm.so) and suggests installing a JDK/JRE that includes it.
Investigation showed the Jenkins pod and Maven container were functioning, so the issue stemmed from the build node’s Java installation.
Solution: Use a build node with a proper JDK that contains the required server JVM libraries.
3. Jenkins pipeline fails with Git config lock file error
Error message:
error: could not lock config file .git/config: File existsInvestigation revealed leftover .git/config.lock files in Jenkins cache directories.
Solution: Locate and delete the lock file, e.g.
find / -name "config.lock" -type f
rm /path/to/config.lock4. Maven pipeline reports "unable to allocate file descriptor table" error
Root cause: The build node’s file descriptor limit was too low.
Solution steps:
Check current limit with ulimit -n.
If low, increase limits in /etc/security/limits.conf:
* soft nofile 65535
* hard nofile 65535
ulimit -n 65535Adjust Docker service limits by adding --default-ulimit nofile=65535:65535 to /usr/lib/systemd/system/docker.service and restart Docker:
systemctl daemon-reload
systemctl restart dockerAfter applying these changes, the pipeline builds successfully.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
MaGe Linux Operations
Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
